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"` }