Documentation ¶
Index ¶
- func GetAuthCookieDomain(requestHost string, cookieLevel CookieDomainLevel) string
- func MiniProgramValidateByAppToken(code string, appAccessToken string) (*protocol.MiniProgramLoginByAppTokenResponse, error)
- func MiniProgramValidateByIDSecret(code string, appID string, appSecret string) (*protocol.MiniProgramLoginByIDSecretResponse, error)
- func NewDefaultSessionManager(encryptKey string, client common.DBClient) *defaultSessionManager
- func OpenSSOCodeValidateByAppToken(ctx context.Context, code string, appAccessToken string) (*protocol.OpenSSOTokenResponse, error)
- func OpenSSOCodeValidateByIDSecret(ctx context.Context, code string, appID, appSecret string) (*protocol.OpenSSOTokenResponse, error)
- func OpenSSOGenerateAuthURL(redirectURL string, appID string, state string) string
- func OpenSSORefreshTokenByAppToken(ctx context.Context, refreshToken string, appAccessToken string) (*protocol.OpenSSOTokenResponse, error)
- func OpenSSORefreshTokenByIDSecret(ctx context.Context, refreshToken string, appID, appSecret string) (*protocol.OpenSSOTokenResponse, error)
- type AuthMiniProgram
- func (a *AuthMiniProgram) Auth(ctx context.Context, sessionKey string) error
- func (a *AuthMiniProgram) GetCookieDomainLevel() CookieDomainLevel
- func (a *AuthMiniProgram) GetSessionManager() SessionManager
- func (a *AuthMiniProgram) GetValidPeriod() time.Duration
- func (a *AuthMiniProgram) Init(manager SessionManager, validPeriod time.Duration)
- func (a *AuthMiniProgram) Login(ctx context.Context, code string, appID string, requestHost string) (map[string]*http.Cookie, error)
- func (a *AuthMiniProgram) Logout(ctx context.Context, appID string, requestHost string) (map[string]*http.Cookie, error)
- func (a *AuthMiniProgram) SetCookieDomainLevel(cookieLevel CookieDomainLevel)
- type AuthUserInfo
- type Authentication
- type CookieDomainLevel
- type SessionManager
- type TokenInfo
- type UserInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAuthCookieDomain ¶
func GetAuthCookieDomain(requestHost string, cookieLevel CookieDomainLevel) string
func MiniProgramValidateByAppToken ¶
func MiniProgramValidateByAppToken(code string, appAccessToken string) (*protocol.MiniProgramLoginByAppTokenResponse, error)
Code Exchange Token
func MiniProgramValidateByIDSecret ¶
func MiniProgramValidateByIDSecret(code string, appID string, appSecret string) (*protocol.MiniProgramLoginByIDSecretResponse, error)
Code Exchange Token
func NewDefaultSessionManager ¶
NewDefaultSessionManager demo: client := &common.DefaultRedisClient{} err := client.InitDB(map[string]string{"addr": "127.0.0.1:6379"})
if err != nil { return fmt.Errorf("init redis error[%v]", err) }
manager := authentication.NewDefaultSessionManager("DojK2hs*790(", client)
func OpenSSOGenerateAuthURL ¶
generate open sso authentication URL
Types ¶
type AuthMiniProgram ¶
type AuthMiniProgram struct { Manager SessionManager ValidPeriod time.Duration AuthCookieLevel CookieDomainLevel }
func NewAuthMiniProgram ¶
func NewAuthMiniProgram(manager SessionManager, validPeriod time.Duration) *AuthMiniProgram
NewAuthMiniProgram demo: client := &common.DefaultRedisClient{} err := client.InitDB(map[string]string{"addr": "127.0.0.1:6379"})
if err != nil { return fmt.Errorf("init redis error[%v]", err) }
manager := authentication.NewDefaultSessionManager("DojK2hs*790(", client) minaAuth := authentication.NewAuthMiniProgram(manager, time.Hour*24*7)
func (*AuthMiniProgram) Auth ¶
func (a *AuthMiniProgram) Auth(ctx context.Context, sessionKey string) error
func (*AuthMiniProgram) GetCookieDomainLevel ¶
func (a *AuthMiniProgram) GetCookieDomainLevel() CookieDomainLevel
func (*AuthMiniProgram) GetSessionManager ¶
func (a *AuthMiniProgram) GetSessionManager() SessionManager
func (*AuthMiniProgram) GetValidPeriod ¶
func (a *AuthMiniProgram) GetValidPeriod() time.Duration
func (*AuthMiniProgram) Init ¶
func (a *AuthMiniProgram) Init(manager SessionManager, validPeriod time.Duration)
func (*AuthMiniProgram) SetCookieDomainLevel ¶
func (a *AuthMiniProgram) SetCookieDomainLevel(cookieLevel CookieDomainLevel)
type AuthUserInfo ¶
func TransMPAuthUser ¶
func TransMPAuthUser(rsp *protocol.MiniProgramLoginByAppTokenResponse) *AuthUserInfo
type Authentication ¶
type Authentication interface { Init(manager SessionManager, validPeriod time.Duration) Login(ctx context.Context, code string, appID string, requestHost string) (map[string]*http.Cookie, error) Auth(ctx context.Context, sessionKey string) error Logout(ctx context.Context, appID string, requestHost string) (map[string]*http.Cookie, error) // auth cookie level, DomainLevelZero is default SetCookieDomainLevel(cookieLevel CookieDomainLevel) GetCookieDomainLevel() CookieDomainLevel // get valid period GetValidPeriod() time.Duration // get session manager GetSessionManager() SessionManager }
type CookieDomainLevel ¶
type CookieDomainLevel int
const ( DomainLevelZero CookieDomainLevel = 0 //current host DomainLevelOne CookieDomainLevel = 1 //First-level domain name DomainLevelTwo CookieDomainLevel = 2 //Second-level domain name )
type SessionManager ¶
type SessionManager interface { SetEncryptKey(encryptKey string) GetEncryptKey() string GenerateSessionKeyName(appID string) string GenerateSessionKey() string SetAuthUserInfo(authUser *AuthUserInfo, validPeriod time.Duration) (string, error) // return sessionKey, err GetAuthUserInfo(sessionKey string) (*AuthUserInfo, error) }
Click to show internal directories.
Click to hide internal directories.