62 lines
2.0 KiB
Go
62 lines
2.0 KiB
Go
package dto
|
|
|
|
// SSOAuthURLRequest 获取SSO授权URL请求
|
|
type SSOAuthURLRequest struct {
|
|
ProviderID uint64 `json:"provider_id" binding:"required"` // SSO提供商ID
|
|
State string `json:"state"` // 防CSRF状态码
|
|
}
|
|
|
|
// SSOCallbackRequest SSO回调请求
|
|
type SSOCallbackRequest struct {
|
|
ProviderID uint64 `json:"provider_id" binding:"required"` // SSO提供商ID
|
|
Code string `json:"code" binding:"required"` // 授权码/CAS票据
|
|
}
|
|
|
|
// SSOProviderVO SSO提供商视图对象(登录页展示)
|
|
type SSOProviderVO struct {
|
|
ID uint64 `json:"id"`
|
|
Name string `json:"name"`
|
|
DisplayName string `json:"display_name"`
|
|
Icon string `json:"icon"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
// SSOProviderCreateRequest 创建SSO提供商请求
|
|
type SSOProviderCreateRequest struct {
|
|
Name string `json:"name" binding:"required"`
|
|
Type string `json:"type" binding:"required,oneof=oauth2 oidc cas ldap"`
|
|
DisplayName string `json:"display_name" binding:"required"`
|
|
Icon string `json:"icon"`
|
|
Config SSOConfigDTO `json:"config" binding:"required"`
|
|
AutoCreate int8 `json:"auto_create"`
|
|
DefaultRole string `json:"default_role"`
|
|
}
|
|
|
|
// SSOConfigDTO SSO配置DTO
|
|
type SSOConfigDTO struct {
|
|
// OAuth2/OIDC
|
|
ClientID string `json:"client_id"`
|
|
ClientSecret string `json:"client_secret"`
|
|
AuthURL string `json:"auth_url"`
|
|
TokenURL string `json:"token_url"`
|
|
UserInfoURL string `json:"user_info_url"`
|
|
RedirectURI string `json:"redirect_uri"`
|
|
Scopes string `json:"scopes"`
|
|
|
|
// CAS
|
|
CasServerURL string `json:"cas_server_url"`
|
|
|
|
// LDAP
|
|
LDAPServer string `json:"ldap_server"`
|
|
LDAPPort int `json:"ldap_port"`
|
|
LDAPBaseDN string `json:"ldap_base_dn"`
|
|
LDAPBindUser string `json:"ldap_bind_user"`
|
|
LDAPBindPass string `json:"ldap_bind_pass"`
|
|
LDAPFilter string `json:"ldap_filter"`
|
|
|
|
// 字段映射
|
|
MappingUsername string `json:"mapping_username"`
|
|
MappingEmail string `json:"mapping_email"`
|
|
MappingNickname string `json:"mapping_nickname"`
|
|
}
|