Documentation ¶
Index ¶
- type Session
- func (sess *Session) Claims() session.Claims
- func (sess *Session) Del(ctx context.Context, key string) error
- func (sess *Session) Destroy(ctx context.Context) error
- func (sess *Session) Get(ctx context.Context, key string) ekit.AnyValue
- func (sess *Session) Set(ctx context.Context, key string, val any) error
- type SessionProvider
- func (rsp *SessionProvider) Get(ctx *gctx.Context) (session.Session, error)
- func (rsp *SessionProvider) NewSession(ctx *gctx.Context, uid int64, jwtData map[string]string, ...) (session.Session, error)
- func (rsp *SessionProvider) RenewAccessToken(ctx *ginx.Context) error
- func (rsp *SessionProvider) UpdateClaims(ctx *gctx.Context, claims session.Claims) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
Session 生命周期应该和 http 请求保持一致
type SessionProvider ¶
type SessionProvider struct {
// contains filtered or unexported fields
}
SessionProvider 默认情况下,产生的 Session 对应了两个 token, access token 和 refresh token 它们会被放进去 http.Response x-access-token 和 x-refresh-token 里面 后续前端发送请求的时候,需要把 token 放到 Authorization 中,以 Bearer 的形式传过来 很多字段并没有暴露,如果你需要自定义,可以发 issue
func NewSessionProvider ¶
func NewSessionProvider(client redis.Cmdable, jwtKey string) *SessionProvider
NewSessionProvider 长短 token + session 机制。短 token 的过期时间是一小时 长 token 的过期时间是 30 天
func (*SessionProvider) NewSession ¶
func (rsp *SessionProvider) NewSession(ctx *gctx.Context, uid int64, jwtData map[string]string, sessData map[string]any) (session.Session, error)
NewSession 的时候,要先把这个 data 写入到对应的 token 里面
func (*SessionProvider) RenewAccessToken ¶
func (rsp *SessionProvider) RenewAccessToken(ctx *ginx.Context) error
func (*SessionProvider) UpdateClaims ¶
UpdateClaims 在这个实现里面,claims 同时写进去了
Click to show internal directories.
Click to hide internal directories.