package vo

// SysLoginSourceLDAP LDAP认证源
type SysLoginSourceLDAP struct {
	URL          string `json:"url"`          // LDAP 服务器（ldap://192.168.9.58:11389）
	BaseDN       string `json:"baseDN"`       // base DN（dc=example,dc=org）
	UserFilter   string `json:"userFilter"`   // 用户过滤规则（(&(objectClass=organizationalPerson)(uid=%s)))
	BindDN       string `json:"bindDN"`       // 绑定 DN（cn=admin,dc=example,dc=org）
	BindPassword string `json:"bindPassword"` // 绑定密码（adminpassword）
}

// SysLoginSourceSMTP SMTP认证源
type SysLoginSourceSMTP struct {
	Host string `json:"host"` // SMTP 服务器（smtp.gmail.com）
	Port int    `json:"port"` // SMTP 端口（587）
}

// SysLoginSourceOAuth2 OAuth2认证源
type SysLoginSourceOAuth2 struct {
	ClientID     string   `json:"clientID"`     // 客户端ID
	ClientSecret string   `json:"clientSecret"` // 客户端密钥
	AuthURL      string   `json:"authURL"`      // 认证URL
	TokenURL     string   `json:"tokenURL"`     // 令牌URL
	Scopes       []string `json:"scopes"`       // 授权范围
	RedirectURL  string   `json:"redirectURL"`  // 重定向URL
	UserURL      string   `json:"userURL"`      // 用户信息URL
	AccountField string   `json:"accountField"` // 账号字段从用户信息中获取
}
