mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 05:25:15 +01:00 
			
		
		
		
	* `PROTOCOL`: can be smtp, smtps, smtp+startls, smtp+unix, sendmail, dummy * `SMTP_ADDR`: domain for SMTP, or path to unix socket * `SMTP_PORT`: port for SMTP; defaults to 25 for `smtp`, 465 for `smtps`, and 587 for `smtp+startls` * `ENABLE_HELO`, `HELO_HOSTNAME`: reverse `DISABLE_HELO` to `ENABLE_HELO`; default to false + system hostname * `FORCE_TRUST_SERVER_CERT`: replace the unclear `SKIP_VERIFY` * `CLIENT_CERT_FILE`, `CLIENT_KEY_FILE`, `USE_CLIENT_CERT`: clarify client certificates here Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
		
			
				
	
	
		
			91 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2014 The Gogs Authors. All rights reserved.
 | 
						|
// Use of this source code is governed by a MIT-style
 | 
						|
// license that can be found in the LICENSE file.
 | 
						|
 | 
						|
package forms
 | 
						|
 | 
						|
import (
 | 
						|
	"net/http"
 | 
						|
 | 
						|
	"code.gitea.io/gitea/modules/context"
 | 
						|
	"code.gitea.io/gitea/modules/web/middleware"
 | 
						|
 | 
						|
	"gitea.com/go-chi/binding"
 | 
						|
)
 | 
						|
 | 
						|
// AuthenticationForm form for authentication
 | 
						|
type AuthenticationForm struct {
 | 
						|
	ID                            int64
 | 
						|
	Type                          int    `binding:"Range(2,7)"`
 | 
						|
	Name                          string `binding:"Required;MaxSize(30)"`
 | 
						|
	Host                          string
 | 
						|
	Port                          int
 | 
						|
	BindDN                        string
 | 
						|
	BindPassword                  string
 | 
						|
	UserBase                      string
 | 
						|
	UserDN                        string
 | 
						|
	AttributeUsername             string
 | 
						|
	AttributeName                 string
 | 
						|
	AttributeSurname              string
 | 
						|
	AttributeMail                 string
 | 
						|
	AttributeSSHPublicKey         string
 | 
						|
	AttributeAvatar               string
 | 
						|
	AttributesInBind              bool
 | 
						|
	UsePagedSearch                bool
 | 
						|
	SearchPageSize                int
 | 
						|
	Filter                        string
 | 
						|
	AdminFilter                   string
 | 
						|
	GroupsEnabled                 bool
 | 
						|
	GroupDN                       string
 | 
						|
	GroupFilter                   string
 | 
						|
	GroupMemberUID                string
 | 
						|
	UserUID                       string
 | 
						|
	RestrictedFilter              string
 | 
						|
	AllowDeactivateAll            bool
 | 
						|
	IsActive                      bool
 | 
						|
	IsSyncEnabled                 bool
 | 
						|
	SMTPAuth                      string
 | 
						|
	SMTPAddr                      string
 | 
						|
	SMTPPort                      int
 | 
						|
	AllowedDomains                string
 | 
						|
	SecurityProtocol              int `binding:"Range(0,2)"`
 | 
						|
	TLS                           bool
 | 
						|
	SkipVerify                    bool
 | 
						|
	HeloHostname                  string
 | 
						|
	DisableHelo                   bool
 | 
						|
	ForceSMTPS                    bool
 | 
						|
	PAMServiceName                string
 | 
						|
	PAMEmailDomain                string
 | 
						|
	Oauth2Provider                string
 | 
						|
	Oauth2Key                     string
 | 
						|
	Oauth2Secret                  string
 | 
						|
	OpenIDConnectAutoDiscoveryURL string
 | 
						|
	Oauth2UseCustomURL            bool
 | 
						|
	Oauth2TokenURL                string
 | 
						|
	Oauth2AuthURL                 string
 | 
						|
	Oauth2ProfileURL              string
 | 
						|
	Oauth2EmailURL                string
 | 
						|
	Oauth2IconURL                 string
 | 
						|
	Oauth2Tenant                  string
 | 
						|
	Oauth2Scopes                  string
 | 
						|
	Oauth2RequiredClaimName       string
 | 
						|
	Oauth2RequiredClaimValue      string
 | 
						|
	Oauth2GroupClaimName          string
 | 
						|
	Oauth2AdminGroup              string
 | 
						|
	Oauth2RestrictedGroup         string
 | 
						|
	SkipLocalTwoFA                bool
 | 
						|
	SSPIAutoCreateUsers           bool
 | 
						|
	SSPIAutoActivateUsers         bool
 | 
						|
	SSPIStripDomainNames          bool
 | 
						|
	SSPISeparatorReplacement      string `binding:"AlphaDashDot;MaxSize(5)"`
 | 
						|
	SSPIDefaultLanguage           string
 | 
						|
	GroupTeamMap                  string
 | 
						|
	GroupTeamMapRemoval           bool
 | 
						|
}
 | 
						|
 | 
						|
// Validate validates fields
 | 
						|
func (f *AuthenticationForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
 | 
						|
	ctx := context.GetContext(req)
 | 
						|
	return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
 | 
						|
}
 |