Skip to content

Commit 97ee889

Browse files
strkbkcsoft
authored andcommitted
Add captcha support to OpenID based signup
1 parent f00a4c8 commit 97ee889

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

routers/user/auth_openid.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import (
1515
"code.gitea.io/gitea/modules/context"
1616
"code.gitea.io/gitea/modules/log"
1717
"code.gitea.io/gitea/modules/setting"
18+
19+
"github.com/go-macaron/captcha"
1820
)
1921

2022
const (
@@ -310,6 +312,7 @@ func RegisterOpenID(ctx *context.Context) {
310312
ctx.Data["PageIsSignIn"] = true
311313
ctx.Data["PageIsOpenIDRegister"] = true
312314
ctx.Data["EnableOpenIDSignUp"] = setting.EnableOpenIDSignUp
315+
ctx.Data["EnableCaptcha"] = setting.Service.EnableCaptcha
313316
ctx.Data["OpenID"] = oid
314317
userName, _ := ctx.Session.Get("openid_determined_username").(string)
315318
if userName != "" {
@@ -323,7 +326,7 @@ func RegisterOpenID(ctx *context.Context) {
323326
}
324327

325328
// RegisterOpenIDPost handles submission of a form to create a new user authenticated via an OpenID URI
326-
func RegisterOpenIDPost(ctx *context.Context, form auth.SignUpOpenIDForm) {
329+
func RegisterOpenIDPost(ctx *context.Context, cpt *captcha.Captcha, form auth.SignUpOpenIDForm) {
327330
if ! setting.EnableOpenIDSignUp {
328331
ctx.Error(403)
329332
return
@@ -338,16 +341,14 @@ func RegisterOpenIDPost(ctx *context.Context, form auth.SignUpOpenIDForm) {
338341
ctx.Data["PageIsSignIn"] = true
339342
ctx.Data["PageIsOpenIDRegister"] = true
340343
ctx.Data["EnableOpenIDSignUp"] = setting.EnableOpenIDSignUp
344+
ctx.Data["EnableCaptcha"] = setting.Service.EnableCaptcha
341345
ctx.Data["OpenID"] = oid
342346

343-
/*
344-
// TODO: handle captcha ?
345347
if setting.Service.EnableCaptcha && !cpt.VerifyReq(ctx.Req) {
346348
ctx.Data["Err_Captcha"] = true
347349
ctx.RenderWithErr(ctx.Tr("form.captcha_incorrect"), tplSignUpOID, &form)
348350
return
349351
}
350-
*/
351352

352353
len := setting.MinPasswordLength
353354
if len < 256 { len = 256 }

templates/user/auth/signup_openid_register.tmpl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,16 @@
2020
<label for="email">{{.i18n.Tr "email"}}</label>
2121
<input id="email" name="email" type="email" value="{{.email}}" required>
2222
</div>
23+
{{if .EnableCaptcha}}
24+
<div class="inline field">
25+
<label></label>
26+
{{.Captcha.CreateHtml}}
27+
</div>
28+
<div class="required inline field {{if .Err_Captcha}}error{{end}}">
29+
<label for="captcha">{{.i18n.Tr "captcha"}}</label>
30+
<input id="captcha" name="captcha" value="{{.captcha}}" autocomplete="off">
31+
</div>
32+
{{end}}
2333
<div class="inline field">
2434
<label for="openid">OpenID URI</label>
2535
<input id="openid" value="{{ .OpenID }}" readonly>

0 commit comments

Comments
 (0)