Usually enterprise/organization users would like to only allow OAuth2 login. This PR adds a new config option to disable the password-based login form. It is a simple and clear approach and won't block the future login-system refactoring works. Fix a TODO in #24821 Replace #21851 Close #7633 , close #13606
73 lines
2.7 KiB
Handlebars
73 lines
2.7 KiB
Handlebars
<div class="ui container fluid">
|
|
{{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn)}}
|
|
{{template "base/alert" .}}
|
|
{{end}}
|
|
<h4 class="ui top attached header center">
|
|
{{if .LinkAccountMode}}
|
|
{{ctx.Locale.Tr "auth.oauth_signin_title"}}
|
|
{{else}}
|
|
{{ctx.Locale.Tr "auth.login_userpass"}}
|
|
{{end}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
{{if .EnablePasswordSignInForm}}
|
|
<form class="ui form" action="{{.SignInLink}}" method="post">
|
|
{{.CsrfTokenHtml}}
|
|
<div class="required field {{if and (.Err_UserName) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn))}}error{{end}}">
|
|
<label for="user_name">{{ctx.Locale.Tr "home.uname_holder"}}</label>
|
|
<input id="user_name" type="text" name="user_name" value="{{.user_name}}" autofocus required tabindex="1">
|
|
</div>
|
|
{{if or (not .DisablePassword) .LinkAccountMode}}
|
|
<div class="required field {{if and (.Err_Password) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn))}}error{{end}} form-field-content-aside-label">
|
|
<label for="password">{{ctx.Locale.Tr "password"}}</label>
|
|
<div>
|
|
<a href="{{AppSubUrl}}/user/forgot_password" tabindex="4">{{ctx.Locale.Tr "auth.forgot_password"}}</a>
|
|
</div>
|
|
<input id="password" name="password" type="password" value="{{.password}}" autocomplete="current-password" required tabindex="2">
|
|
</div>
|
|
{{end}}
|
|
{{if not .LinkAccountMode}}
|
|
<div class="inline field">
|
|
<div class="ui checkbox">
|
|
<label>{{ctx.Locale.Tr "auth.remember_me"}}</label>
|
|
<input name="remember" type="checkbox" tabindex="5">
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{template "user/auth/captcha" .}}
|
|
|
|
<div class="field">
|
|
<button class="ui primary button tw-w-full" tabindex="3">
|
|
{{if .LinkAccountMode}}
|
|
{{ctx.Locale.Tr "auth.oauth_signin_submit"}}
|
|
{{else}}
|
|
{{ctx.Locale.Tr "sign_in"}}
|
|
{{end}}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
{{end}}{{/*if .EnablePasswordSignInForm*/}}
|
|
{{if and .OAuth2Providers .EnableOpenIDSignIn .EnablePasswordSignInForm}}
|
|
<div class="divider divider-text">{{ctx.Locale.Tr "sign_in_or"}}</div>
|
|
{{end}}
|
|
{{if and .OAuth2Providers .EnableOpenIDSignIn}}
|
|
{{template "user/auth/oauth_container" .}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ui container fluid">
|
|
{{template "user/auth/webauthn_error" .}}
|
|
|
|
<div class="ui attached segment header top tw-max-w-2xl tw-m-auto tw-flex tw-flex-col tw-items-center">
|
|
<a class="signin-passkey">{{ctx.Locale.Tr "auth.signin_passkey"}}</a>
|
|
|
|
{{if .ShowRegistrationButton}}
|
|
<div class="field">
|
|
<span>{{ctx.Locale.Tr "auth.need_account"}}</span>
|
|
<a href="{{AppSubUrl}}/user/sign_up">{{ctx.Locale.Tr "auth.sign_up_now"}}</a>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|