92 lines
1.4 KiB
Go
92 lines
1.4 KiB
Go
package auth2
|
||
|
||
import (
|
||
"time"
|
||
|
||
"git.rosy.net.cn/jx-callback/business/model"
|
||
)
|
||
|
||
const (
|
||
TokenTypeNone = 0
|
||
TokenTypeNormal = 1
|
||
TokenTypeOnlyAuth = 2
|
||
)
|
||
|
||
type UserBasic struct {
|
||
UserID string
|
||
UserID2 string
|
||
Mobile string
|
||
Email string
|
||
Name string
|
||
}
|
||
|
||
func (u *UserBasic) GetID() string {
|
||
return u.UserID
|
||
}
|
||
func (u *UserBasic) GetID2() string {
|
||
return u.UserID2
|
||
}
|
||
|
||
func (u *UserBasic) GetMobile() string {
|
||
return u.Mobile
|
||
}
|
||
|
||
func (u *UserBasic) GetEmail() string {
|
||
return u.Email
|
||
}
|
||
|
||
func (u *UserBasic) GetName() string {
|
||
return u.Name
|
||
}
|
||
|
||
func (u *UserBasic) UpdateByIUser(user IUser) {
|
||
if user != nil {
|
||
u.UserID = user.GetID()
|
||
u.UserID2 = user.GetID2()
|
||
u.Mobile = user.GetMobile()
|
||
u.Email = user.GetEmail()
|
||
u.Name = user.GetName()
|
||
}
|
||
}
|
||
|
||
func (u *UserBasic) IsUserEmpty() bool {
|
||
return u.UserID == ""
|
||
}
|
||
|
||
type AuthBindEx struct {
|
||
model.AuthBind
|
||
UserData interface{}
|
||
UserHint *UserBasic
|
||
}
|
||
|
||
type AuthInfo struct {
|
||
UserBasic
|
||
AuthBindInfo *AuthBindEx
|
||
|
||
LoginTime time.Time
|
||
ExpiresIn int64
|
||
Token string
|
||
TokenType int // TOKEN类型,
|
||
}
|
||
|
||
func (a *AuthInfo) GetAuthID() string {
|
||
return a.AuthBindInfo.AuthID
|
||
}
|
||
|
||
func (a *AuthInfo) GetAuthType() string {
|
||
return a.AuthBindInfo.Type
|
||
}
|
||
|
||
func (a *AuthInfo) GetUserTag() string {
|
||
userTag := a.UserID2
|
||
if userTag == "" {
|
||
if a.AuthBindInfo.UserHint != nil {
|
||
userTag = a.AuthBindInfo.UserHint.Mobile
|
||
}
|
||
if userTag == "" {
|
||
userTag = a.AuthBindInfo.AuthID
|
||
}
|
||
}
|
||
return userTag
|
||
}
|