mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-26 09:09:36 -05:00
e29e163737
* Improve SMTP authentication, Fix user creation bugs and add LDAP cert/key options This PR has two parts: Improvements for SMTP authentication: * Default to use SMTPS if port is 465, and allow setting of force SMTPS. * Always use STARTTLS if available * Provide CRAM-MD5 mechanism * Add options for HELO hostname disabling * Add options for providing certificates and keys * Handle application specific password response as a failed user login instead of as a 500. Close #16104 Fix creation of new users: * A bug was introduced when allowing users to change usernames which prevents the creation of external users. * The LoginSource refactor also broke this page. Close #16104 Signed-off-by: Andrew Thornton <art27@cantab.net>
118 lines
4.3 KiB
Handlebars
118 lines
4.3 KiB
Handlebars
{{template "base/head" .}}
|
|
<div class="page-content admin new authentication">
|
|
{{template "admin/navbar" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
<h4 class="ui top attached header">
|
|
{{.i18n.Tr "admin.auths.new"}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<form class="ui form" action="{{.Link}}" method="post">
|
|
{{.CsrfTokenHtml}}
|
|
<!-- Types and name -->
|
|
<div class="inline required field {{if .Err_Type}}error{{end}}">
|
|
<label>{{.i18n.Tr "admin.auths.auth_type"}}</label>
|
|
<div class="ui selection type dropdown">
|
|
<input type="hidden" id="auth_type" name="type" value="{{.type.Int}}">
|
|
<div class="text">{{.CurrentTypeName}}</div>
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
<div class="menu">
|
|
{{range .AuthSources}}
|
|
<div class="item" data-value="{{.Type.Int}}">{{.Name}}</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="required inline field {{if .Err_Name}}error{{end}}">
|
|
<label for="name">{{.i18n.Tr "admin.auths.auth_name"}}</label>
|
|
<input id="name" name="name" value="{{.name}}" autofocus required>
|
|
</div>
|
|
|
|
<!-- LDAP and DLDAP -->
|
|
{{ template "admin/auth/source/ldap" . }}
|
|
|
|
<!-- SMTP -->
|
|
{{ template "admin/auth/source/smtp" . }}
|
|
|
|
<!-- PAM -->
|
|
<div class="pam required field {{if not (eq .type 4)}}hide{{end}}">
|
|
<label for="pam_service_name">{{.i18n.Tr "admin.auths.pam_service_name"}}</label>
|
|
<input id="pam_service_name" name="pam_service_name" value="{{.pam_service_name}}" />
|
|
<label for="pam_email_domain">{{.i18n.Tr "admin.auths.pam_email_domain"}}</label>
|
|
<input id="pam_email_domain" name="pam_email_domain" value="{{.pam_email_domain}}">
|
|
</div>
|
|
|
|
<!-- OAuth2 -->
|
|
{{ template "admin/auth/source/oauth" . }}
|
|
|
|
<!-- SSPI -->
|
|
{{ template "admin/auth/source/sspi" . }}
|
|
|
|
<div class="ldap field">
|
|
<div class="ui checkbox">
|
|
<label><strong>{{.i18n.Tr "admin.auths.attributes_in_bind"}}</strong></label>
|
|
<input name="attributes_in_bind" type="checkbox" {{if .attributes_in_bind}}checked{{end}}>
|
|
</div>
|
|
</div>
|
|
<div class="ldap inline field {{if not (eq .type 2)}}hide{{end}}">
|
|
<div class="ui checkbox">
|
|
<label><strong>{{.i18n.Tr "admin.auths.syncenabled"}}</strong></label>
|
|
<input name="is_sync_enabled" type="checkbox" {{if .is_sync_enabled}}checked{{end}}>
|
|
</div>
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui checkbox">
|
|
<label><strong>{{.i18n.Tr "admin.auths.activated"}}</strong></label>
|
|
<input name="is_active" type="checkbox" {{if .is_active}}checked{{end}}>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field">
|
|
<button class="ui green button">{{.i18n.Tr "admin.auths.new"}}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<h4 class="ui top attached header">
|
|
{{.i18n.Tr "admin.auths.tips"}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<h5>GMail Settings:</h5>
|
|
<p>Host: smtp.gmail.com, Port: 587, Enable TLS Encryption: true</p>
|
|
|
|
<h5>{{.i18n.Tr "admin.auths.tips.oauth2.general"}}:</h5>
|
|
<p>{{.i18n.Tr "admin.auths.tips.oauth2.general.tip"}}</p>
|
|
|
|
<h5 class="ui top attached header">{{.i18n.Tr "admin.auths.tip.oauth2_provider"}}</h5>
|
|
<div class="ui attached segment">
|
|
<li>Bitbucket</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.bitbucket"}}</span>
|
|
<li>Dropbox</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.dropbox"}}</span>
|
|
<li>Facebook</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.facebook"}}</span>
|
|
<li>GitHub</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.github"}}</span>
|
|
<li>GitLab</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.gitlab"}}</span>
|
|
<li>Google</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.google_plus"}}</span>
|
|
<li>OpenID Connect</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.openid_connect"}}</span>
|
|
<li>Twitter</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.twitter"}}</span>
|
|
<li>Discord</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.discord"}}</span>
|
|
<li>Gitea</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.gitea"}}</span>
|
|
<li>Nextcloud</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.nextcloud"}}</span>
|
|
<li>Yandex</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.yandex"}}</span>
|
|
<li>Mastodon</li>
|
|
<span>{{.i18n.Tr "admin.auths.tip.mastodon"}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|