做统一认证登录
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
// 接入应用类型
|
||||
const (
|
||||
AuthAppTypeWeb = 1 // 有后端的 Web 应用(可安全保存 secret)
|
||||
AuthAppTypeSPA = 2 // 单页应用(只能走 PKCE,不存 secret)
|
||||
AuthAppTypeNative = 3 // 原生 APP / uniapp
|
||||
AuthAppTypeMiniProg = 4 // 小程序
|
||||
)
|
||||
|
||||
// 领域隔离:租户域与平台域使用不同 realm,避免平台账号登录租户应用
|
||||
const (
|
||||
AuthRealmTenant = "tenant"
|
||||
AuthRealmPlatform = "platform"
|
||||
)
|
||||
|
||||
// AuthClient 接入应用(OIDC Client):yz_auth_client
|
||||
// 以后每开发一个新软件,只需在这里注册一条即可接入统一认证。
|
||||
type AuthClient struct {
|
||||
ID uint64 `orm:"column(id);pk;auto" json:"id"`
|
||||
ClientID string `orm:"column(client_id);size(64)" json:"client_id"`
|
||||
ClientSecret *string `orm:"column(client_secret);size(128);null" json:"-"`
|
||||
AppCode string `orm:"column(app_code);size(32)" json:"app_code"`
|
||||
Name string `orm:"column(name);size(128)" json:"name"`
|
||||
AppType int8 `orm:"column(app_type);default(1)" json:"app_type"`
|
||||
RedirectURIs *string `orm:"column(redirect_uris);type(text);null" json:"redirect_uris"`
|
||||
PostLogoutURIs *string `orm:"column(post_logout_uris);type(text);null" json:"post_logout_uris"`
|
||||
BackchannelLogoutURI *string `orm:"column(backchannel_logout_uri);size(500);null" json:"backchannel_logout_uri"`
|
||||
GrantTypes string `orm:"column(grant_types);size(255)" json:"grant_types"`
|
||||
Scope *string `orm:"column(scope);size(255);null" json:"scope"`
|
||||
AccessTTL int `orm:"column(access_ttl);default(1800)" json:"access_ttl"`
|
||||
RefreshTTL int `orm:"column(refresh_ttl);default(2592000)" json:"refresh_ttl"`
|
||||
Realm string `orm:"column(realm);size(16);default(tenant)" json:"realm"`
|
||||
Status int8 `orm:"column(status);default(1)" json:"status"`
|
||||
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
|
||||
UpdateTime *time.Time `orm:"column(update_time);type(datetime);null" json:"update_time"`
|
||||
}
|
||||
|
||||
func (m *AuthClient) TableName() string {
|
||||
return "yz_auth_client"
|
||||
}
|
||||
Reference in New Issue
Block a user