88 lines · 3.0 KB · Go
RawDownload
// Copyright 2014 The Gogs Authors. All rights reserved.// SPDX-License-Identifier: MIT package forms import (	"net/http" 	"forgejo.org/modules/web/middleware"	"forgejo.org/services/context" 	"code.forgejo.org/go-chi/binding") // AuthenticationForm form for authenticationtype 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	DefaultDomainName             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	SMTPHost                      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	Oauth2GroupTeamMap            string `binding:"ValidGroupTeamMap"`	Oauth2GroupTeamMapRemoval     bool	Oauth2AttributeSSHPublicKey   string	SkipLocalTwoFA                bool	GroupTeamMap                  string `binding:"ValidGroupTeamMap"`	GroupTeamMapRemoval           bool} // Validate validates fieldsfunc (f *AuthenticationForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {	ctx := context.GetValidateContext(req)	return middleware.Validate(errs, ctx.Data, f, ctx.Locale)}