2014-07-26 00:24:27 -04:00
// 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 auth
import (
2015-10-15 21:28:12 -04:00
"github.com/go-macaron/binding"
"gopkg.in/macaron.v1"
2014-07-26 00:24:27 -04:00
)
2016-11-27 14:03:59 +08:00
// AuthenticationForm form for authentication
2014-07-26 00:24:27 -04:00
type AuthenticationForm struct {
2017-05-01 15:26:53 +02:00
ID int64
Type int ` binding:"Range(2,6)" `
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
AttributesInBind bool
Filter string
AdminFilter string
IsActive bool
2017-05-10 16:10:18 +03:00
IsSyncEnabled bool
2017-05-01 15:26:53 +02:00
SMTPAuth string
SMTPHost string
SMTPPort int
AllowedDomains string
SecurityProtocol int ` binding:"Range(0,2)" `
TLS bool
SkipVerify bool
PAMServiceName string
Oauth2Provider string
Oauth2Key string
Oauth2Secret string
OpenIDConnectAutoDiscoveryURL string
Oauth2UseCustomURL bool
Oauth2TokenURL string
Oauth2AuthURL string
Oauth2ProfileURL string
Oauth2EmailURL string
2014-07-26 00:24:27 -04:00
}
2016-11-27 14:03:59 +08:00
// Validate validates fields
2014-10-15 11:19:20 -04:00
func ( f * AuthenticationForm ) Validate ( ctx * macaron . Context , errs binding . Errors ) binding . Errors {
return validate ( errs , ctx . Data , f , ctx . Locale )
2014-07-26 00:24:27 -04:00
}