Documentation
¶
Index ¶
- type Module
- func (m *Module) BanUser(uid string) error
- func (m *Module) CaddyModule() caddy.ModuleInfo
- func (m *Module) IsTokenRevoked(jti string) bool
- func (m *Module) IsUserBanned(uid string) bool
- func (m *Module) Provision(ctx caddy.Context) error
- func (m *Module) RevokeToken(jti string) error
- func (m *Module) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error
- func (m *Module) UnmarshalCaddyfile(d *caddyfile.Dispenser) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Module ¶
type Module struct {
// 鉴权配置
SecretKey string `json:"secret_key,omitempty"`
Strategy string `json:"strategy,omitempty"` // sample, single
// RoleClaimKey 指定了获取用户角色的Claim Key
RoleClaimKey string `json:"role_claim_key,omitempty"`
// UidClaimKey 指定了获取用户ID的Claim Key
UidClaimKey string `json:"uid_claim_key,omitempty"`
ClientTypeClaimKey string `json:"client_type_claim_key,omitempty"`
// RoleGoimbalKey 指定了设置用户角色的Header Key
RoleGoimbalKey string `json:"role_goimbal_key,omitempty"`
// UidGoimbalKey 指定了设置用户ID的Header Key
UidGoimbalKey string `json:"uid_goimbal_key,omitempty"`
AnonymousRole string `json:"anonymous_role,omitempty"`
ExpectedAudience string `json:"audience,omitempty"`
PublicPaths []string `json:"public_paths,omitempty"`
Output string `json:"output,omitempty"`
// contains filtered or unexported fields
}
Module 是 Goimbal 鉴权模块 SecretKey 是 JWT 的密钥 Strategy 是鉴权策略分为 sample 和 single Strategy:Sample 只验证jwt是否合法,jti是否在黑名单 Strategy:Standard 验证iat是否大于logout_at Strategy:Single 在 iat 基础上校验 jti(确保同类设备只有一台在线)。
func (*Module) CaddyModule ¶
func (m *Module) CaddyModule() caddy.ModuleInfo
func (*Module) IsTokenRevoked ¶
func (*Module) IsUserBanned ¶
IsUserBanned 检查用户是否在黑名单
func (*Module) RevokeToken ¶
Click to show internal directories.
Click to hide internal directories.