aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorAndrew <write@imaginarycode.com>2017-01-15 21:14:29 -0500
committerLunny Xiao <xiaolunwen@gmail.com>2017-01-16 10:14:29 +0800
commit6dd096b7f08799ff27d9e34356fb1163ca10f388 (patch)
treee5823a27df5def081c9c39f5fac1424a81875f6d /cmd
parent64375d875b4d46a6081026290da8efd82c84b25f (diff)
downloadgitea-6dd096b7f08799ff27d9e34356fb1163ca10f388.tar.gz
gitea-6dd096b7f08799ff27d9e34356fb1163ca10f388.zip
Two factor authentication support (#630)
* Initial commit for 2FA support Signed-off-by: Andrew <write@imaginarycode.com> * Add vendored files * Add missing depends * A few clean ups * Added improvements, proper encryption * Better encryption key * Simplify "key" generation * Make 2FA enrollment page more robust * Fix typo * Rename twofa/2FA to TwoFactor * UNIQUE INDEX -> UNIQUE
Diffstat (limited to 'cmd')
-rw-r--r--cmd/web.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/cmd/web.go b/cmd/web.go
index ff4fcc376d..9942f19a50 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -203,6 +203,12 @@ func runWeb(ctx *cli.Context) error {
m.Post("/sign_up", bindIgnErr(auth.RegisterForm{}), user.SignUpPost)
m.Get("/reset_password", user.ResetPasswd)
m.Post("/reset_password", user.ResetPasswdPost)
+ m.Group("/two_factor", func() {
+ m.Get("", user.TwoFactor)
+ m.Post("", bindIgnErr(auth.TwoFactorAuthForm{}), user.TwoFactorPost)
+ m.Get("/scratch", user.TwoFactorScratch)
+ m.Post("/scratch", bindIgnErr(auth.TwoFactorScratchAuthForm{}), user.TwoFactorScratchPost)
+ })
}, reqSignOut)
m.Group("/user/settings", func() {
@@ -223,6 +229,13 @@ func runWeb(ctx *cli.Context) error {
Post(bindIgnErr(auth.NewAccessTokenForm{}), user.SettingsApplicationsPost)
m.Post("/applications/delete", user.SettingsDeleteApplication)
m.Route("/delete", "GET,POST", user.SettingsDelete)
+ m.Group("/two_factor", func() {
+ m.Get("", user.SettingsTwoFactor)
+ m.Post("/regenerate_scratch", user.SettingsTwoFactorRegenerateScratch)
+ m.Post("/disable", user.SettingsTwoFactorDisable)
+ m.Get("/enroll", user.SettingsTwoFactorEnroll)
+ m.Post("/enroll", bindIgnErr(auth.TwoFactorAuthForm{}), user.SettingsTwoFactorEnrollPost)
+ })
}, reqSignIn, func(ctx *context.Context) {
ctx.Data["PageIsUserSettings"] = true
})