From 97ee88975a43b8d69bd2abfcce0af10fadc172fa Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Fri, 17 Mar 2017 17:40:39 +0100 Subject: [PATCH] Add captcha support to OpenID based signup --- routers/user/auth_openid.go | 9 +++++---- templates/user/auth/signup_openid_register.tmpl | 10 ++++++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/routers/user/auth_openid.go b/routers/user/auth_openid.go index ebcfa7665..19c154839 100644 --- a/routers/user/auth_openid.go +++ b/routers/user/auth_openid.go @@ -15,6 +15,8 @@ import ( "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" + + "github.com/go-macaron/captcha" ) const ( @@ -310,6 +312,7 @@ func RegisterOpenID(ctx *context.Context) { ctx.Data["PageIsSignIn"] = true ctx.Data["PageIsOpenIDRegister"] = true ctx.Data["EnableOpenIDSignUp"] = setting.EnableOpenIDSignUp + ctx.Data["EnableCaptcha"] = setting.Service.EnableCaptcha ctx.Data["OpenID"] = oid userName, _ := ctx.Session.Get("openid_determined_username").(string) if userName != "" { @@ -323,7 +326,7 @@ func RegisterOpenID(ctx *context.Context) { } // RegisterOpenIDPost handles submission of a form to create a new user authenticated via an OpenID URI -func RegisterOpenIDPost(ctx *context.Context, form auth.SignUpOpenIDForm) { +func RegisterOpenIDPost(ctx *context.Context, cpt *captcha.Captcha, form auth.SignUpOpenIDForm) { if ! setting.EnableOpenIDSignUp { ctx.Error(403) return @@ -338,16 +341,14 @@ func RegisterOpenIDPost(ctx *context.Context, form auth.SignUpOpenIDForm) { ctx.Data["PageIsSignIn"] = true ctx.Data["PageIsOpenIDRegister"] = true ctx.Data["EnableOpenIDSignUp"] = setting.EnableOpenIDSignUp + ctx.Data["EnableCaptcha"] = setting.Service.EnableCaptcha ctx.Data["OpenID"] = oid -/* - // TODO: handle captcha ? if setting.Service.EnableCaptcha && !cpt.VerifyReq(ctx.Req) { ctx.Data["Err_Captcha"] = true ctx.RenderWithErr(ctx.Tr("form.captcha_incorrect"), tplSignUpOID, &form) return } -*/ len := setting.MinPasswordLength if len < 256 { len = 256 } diff --git a/templates/user/auth/signup_openid_register.tmpl b/templates/user/auth/signup_openid_register.tmpl index 2aaa3364e..741ffdf3b 100644 --- a/templates/user/auth/signup_openid_register.tmpl +++ b/templates/user/auth/signup_openid_register.tmpl @@ -20,6 +20,16 @@ + {{if .EnableCaptcha}} +
+ + {{.Captcha.CreateHtml}} +
+
+ + +
+ {{end}}