Skip to content

Commit bbdd8e2

Browse files
committed
Show OpenID Connect and OAuth on signup page
Fix #19809 Signed-off-by: Dmitry Sharshakov <[email protected]>
1 parent 4e33481 commit bbdd8e2

File tree

4 files changed

+45
-0
lines changed

4 files changed

+45
-0
lines changed

routers/web/auth/auth.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,16 @@ func SignUp(ctx *context.Context) {
393393

394394
ctx.Data["SignUpLink"] = setting.AppSubURL + "/user/sign_up"
395395

396+
orderedOAuth2Names, oauth2Providers, err := oauth2.GetActiveOAuth2Providers()
397+
if err != nil {
398+
ctx.ServerError("UserSignUp", err)
399+
return
400+
}
401+
402+
ctx.Data["OrderedOAuth2Names"] = orderedOAuth2Names
403+
ctx.Data["OAuth2Providers"] = oauth2Providers
396404
context.SetCaptchaData(ctx)
405+
397406
ctx.Data["PageIsSignUp"] = true
398407

399408
// Show Disabled Registration message if DisableRegistration or AllowOnlyExternalRegistration options are true
@@ -409,7 +418,16 @@ func SignUpPost(ctx *context.Context) {
409418

410419
ctx.Data["SignUpLink"] = setting.AppSubURL + "/user/sign_up"
411420

421+
orderedOAuth2Names, oauth2Providers, err := oauth2.GetActiveOAuth2Providers()
422+
if err != nil {
423+
ctx.ServerError("UserSignUp", err)
424+
return
425+
}
426+
427+
ctx.Data["OrderedOAuth2Names"] = orderedOAuth2Names
428+
ctx.Data["OAuth2Providers"] = oauth2Providers
412429
context.SetCaptchaData(ctx)
430+
413431
ctx.Data["PageIsSignUp"] = true
414432

415433
// Permission denied if DisableRegistration or AllowOnlyExternalRegistration options are true

templates/user/auth/signin_navbar.tmpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
<a class="{{if .PageIsLogin}}active {{end}}item" rel="nofollow" href="{{AppSubUrl}}/user/login">
55
{{.locale.Tr "auth.login_userpass"}}
66
</a>
7+
<a class="{{if .PageIsSignUp}}active{{end}} item" rel="nofollow" href="{{AppSubUrl}}/user/sign_up">
8+
{{.locale.Tr "auth.create_new_account"}}
9+
</a>
710
{{if .EnableOpenIDSignIn}}
811
<a class="{{if .PageIsLoginOpenID}}active {{end}}item" rel="nofollow" href="{{AppSubUrl}}/user/login/openid">
912
{{svg "fontawesome-openid"}}

templates/user/auth/signup.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{{template "base/head" .}}
22
<div role="main" aria-label="{{.Title}}" class="page-content user signin{{if .LinkAccountMode}} icon{{end}}">
3+
{{template "user/auth/signin_navbar" .}}
34
<div class="ui middle very relaxed page grid">
45
{{template "user/auth/signup_inner" .}}
56
</div>

templates/user/auth/signup_inner.tmpl

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,29 @@
5555
</div>
5656
{{end}}
5757
{{end}}
58+
59+
{{if and .OrderedOAuth2Names .OAuth2Providers}}
60+
<div class="ui attached segment">
61+
<div class="oauth2 center">
62+
<div id="oauth2-login-loader" class="ui disabled centered loader"></div>
63+
<div>
64+
<div id="oauth2-login-navigator">
65+
<p>{{.i18n.Tr "sign_in_with"}}</p>
66+
{{range $key := .OrderedOAuth2Names}}
67+
{{$provider := index $.OAuth2Providers $key}}
68+
<a href="{{AppSubUrl}}/user/oauth2/{{$key}}">
69+
<img
70+
alt="{{$provider.DisplayName}}{{if eq $provider.Name "openidConnect"}} ({{$key}}){{end}}"
71+
title="{{$provider.DisplayName}}{{if eq $provider.Name "openidConnect"}} ({{$key}}){{end}}"
72+
class="{{$provider.Name}} oauth-login-image"
73+
src="{{AppSubUrl}}{{$provider.Image}}"
74+
></a>
75+
{{end}}
76+
</div>
77+
</div>
78+
</div>
79+
</div>
80+
{{end}}
5881
</form>
5982
</div>
6083
</div>

0 commit comments

Comments
 (0)