初始化
This commit is contained in:
61
server/dto/sso_dto.go
Normal file
61
server/dto/sso_dto.go
Normal file
@@ -0,0 +1,61 @@
|
||||
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"`
|
||||
}
|
||||
Reference in New Issue
Block a user