summaryrefslogtreecommitdiffstats
path: root/api/user.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-27 09:21:48 -0400
committerGitHub <noreply@github.com>2017-03-27 09:21:48 -0400
commit58397f853a31773f24ad4e62dc1f34df0a975d53 (patch)
treec2055df17b6347199bf48054d606cf1b3b0e89c2 /api/user.go
parenta0d5c01dfd97b45478353ccff777de677f088d0f (diff)
downloadchat-58397f853a31773f24ad4e62dc1f34df0a975d53.tar.gz
chat-58397f853a31773f24ad4e62dc1f34df0a975d53.tar.bz2
chat-58397f853a31773f24ad4e62dc1f34df0a975d53.zip
Implement some MFA endpoints for APIv4 (#5864)
Diffstat (limited to 'api/user.go')
-rw-r--r--api/user.go22
1 files changed, 2 insertions, 20 deletions
diff --git a/api/user.go b/api/user.go
index 795e83a2a..1a9380368 100644
--- a/api/user.go
+++ b/api/user.go
@@ -1234,34 +1234,16 @@ func resendVerification(c *Context, w http.ResponseWriter, r *http.Request) {
}
func generateMfaSecret(c *Context, w http.ResponseWriter, r *http.Request) {
- var user *model.User
- var err *model.AppError
- if user, err = app.GetUser(c.Session.UserId); err != nil {
- c.Err = err
- return
- }
-
- mfaInterface := einterfaces.GetMfaInterface()
- if mfaInterface == nil {
- c.Err = model.NewLocAppError("generateMfaSecret", "api.user.generate_mfa_qr.not_available.app_error", nil, "")
- c.Err.StatusCode = http.StatusNotImplemented
- return
- }
-
- secret, img, err := mfaInterface.GenerateSecret(user)
+ secret, err := app.GenerateMfaSecret(c.Session.UserId)
if err != nil {
c.Err = err
return
}
- resp := map[string]string{}
- resp["qr_code"] = b64.StdEncoding.EncodeToString(img)
- resp["secret"] = secret
-
w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Pragma", "no-cache")
w.Header().Set("Expires", "0")
- w.Write([]byte(model.MapToJson(resp)))
+ w.Write([]byte(secret.ToJson()))
}
func updateMfa(c *Context, w http.ResponseWriter, r *http.Request) {