Documentation
¶
Overview ¶
Package store defines auth session persistence used by auth/jwt. Package store 定义 auth/jwt 使用的认证会话持久化。
Index ¶
- Variables
- type MemoryStore
- func (s *MemoryStore) BumpUserVersion(ctx context.Context, userID string) (int64, error)
- func (s *MemoryStore) ClearAllSessions(ctx context.Context) error
- func (s *MemoryStore) ClearUserSessions(ctx context.Context, userID string) error
- func (s *MemoryStore) CreateSession(ctx context.Context, sessionID string, state SessionState) error
- func (s *MemoryStore) Prune()
- func (s *MemoryStore) RevokeSession(ctx context.Context, sessionID string) error
- func (s *MemoryStore) RotateRefresh(ctx context.Context, sessionID, userID string, expectedVersion int64, ...) (bool, error)
- func (s *MemoryStore) Session(ctx context.Context, sessionID string) (SessionState, bool, error)
- func (s *MemoryStore) Sessions(ctx context.Context, userID string) ([]SessionInfo, error)
- func (s *MemoryStore) UserVersion(ctx context.Context, userID string) (int64, error)
- type SessionCleaner
- type SessionInfo
- type SessionLister
- type SessionState
- type SessionStore
- type UserSessionCleaner
Constants ¶
This section is empty.
Variables ¶
ErrStoreUnavailable reports backend unavailability. ErrStoreUnavailable 表示后端不可用。
Functions ¶
This section is empty.
Types ¶
type MemoryStore ¶
type MemoryStore struct {
// contains filtered or unexported fields
}
MemoryStore keeps sessions in memory. MemoryStore 在内存中保存 session。
func NewMemoryStore ¶
func NewMemoryStore() *MemoryStore
NewMemoryStore returns an in-memory SessionStore. NewMemoryStore 返回内存版 SessionStore。
func (*MemoryStore) BumpUserVersion ¶
BumpUserVersion invalidates all sessions for userID. BumpUserVersion 通过提升版本使 userID 的全部 session 失效。
func (*MemoryStore) ClearAllSessions ¶ added in v0.1.9
func (s *MemoryStore) ClearAllSessions(ctx context.Context) error
ClearAllSessions removes all stored sessions. ClearAllSessions 清理全部已保存的 session。
func (*MemoryStore) ClearUserSessions ¶ added in v0.1.9
func (s *MemoryStore) ClearUserSessions(ctx context.Context, userID string) error
ClearUserSessions removes stored sessions for userID. ClearUserSessions 清理 userID 已保存的 session。
func (*MemoryStore) CreateSession ¶
func (s *MemoryStore) CreateSession(ctx context.Context, sessionID string, state SessionState) error
CreateSession stores a session. CreateSession 保存 session。
func (*MemoryStore) Prune ¶
func (s *MemoryStore) Prune()
Prune removes expired sessions. Prune 清理过期 session。
func (*MemoryStore) RevokeSession ¶
func (s *MemoryStore) RevokeSession(ctx context.Context, sessionID string) error
RevokeSession deletes a session. RevokeSession 删除 session。
func (*MemoryStore) RotateRefresh ¶
func (s *MemoryStore) RotateRefresh(ctx context.Context, sessionID, userID string, expectedVersion int64, oldRefreshID, newRefreshID string, exp time.Time) (bool, error)
RotateRefresh replaces the refresh state for a session. RotateRefresh 替换某个 session 的 refresh 状态。
func (*MemoryStore) Session ¶
func (s *MemoryStore) Session(ctx context.Context, sessionID string) (SessionState, bool, error)
Session returns the session when still active. Session 返回仍然活跃的 session。
func (*MemoryStore) Sessions ¶ added in v0.1.9
func (s *MemoryStore) Sessions(ctx context.Context, userID string) ([]SessionInfo, error)
Sessions returns stored, unexpired sessions for userID. Sessions 返回 userID 已保存且未过期的 session。
func (*MemoryStore) UserVersion ¶
UserVersion returns the current version for userID. UserVersion 返回 userID 的当前版本。
type SessionCleaner ¶ added in v0.1.9
SessionCleaner removes all stored sessions. SessionCleaner 清理全部已保存的 session。
type SessionInfo ¶ added in v0.1.9
SessionInfo is public session metadata for a user. SessionInfo 是用户可见的 session 元数据。
type SessionLister ¶ added in v0.1.9
type SessionLister interface {
Sessions(ctx context.Context, userID string) ([]SessionInfo, error)
}
SessionLister lists stored sessions for one user. SessionLister 列出单个用户已保存的 session。
type SessionState ¶
SessionState stores session state for refresh rotation and revocation. SessionState 保存 refresh 轮换与吊销所需的 session 状态。
type SessionStore ¶
type SessionStore interface {
UserVersion(ctx context.Context, userID string) (int64, error)
BumpUserVersion(ctx context.Context, userID string) (int64, error)
CreateSession(ctx context.Context, sessionID string, state SessionState) error
Session(ctx context.Context, sessionID string) (SessionState, bool, error)
RotateRefresh(ctx context.Context, sessionID, userID string, expectedVersion int64, oldRefreshID, newRefreshID string, exp time.Time) (bool, error)
RevokeSession(ctx context.Context, sessionID string) error
}
SessionStore persists user versions and active sessions. Backend availability failures must be normalized to ErrStoreUnavailable. SessionStore 持久化用户版本与活跃 session。 后端可用性错误必须统一为 ErrStoreUnavailable。
Directories
¶
| Path | Synopsis |
|---|---|
|
Package redissession provides Redis-backed auth session storage.
|
Package redissession provides Redis-backed auth session storage. |