auth

package
v0.0.0-...-3304b6f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

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) BanUser

func (m *Module) BanUser(uid string) error

func (*Module) CaddyModule

func (m *Module) CaddyModule() caddy.ModuleInfo

func (*Module) IsTokenRevoked

func (m *Module) IsTokenRevoked(jti string) bool

func (*Module) IsUserBanned

func (m *Module) IsUserBanned(uid string) bool

IsUserBanned 检查用户是否在黑名单

func (*Module) Provision

func (m *Module) Provision(ctx caddy.Context) error

Provision 建立与大脑的连接

func (*Module) RevokeToken

func (m *Module) RevokeToken(jti string) error

func (*Module) ServeHTTP

func (m *Module) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error

func (*Module) UnmarshalCaddyfile

func (m *Module) UnmarshalCaddyfile(d *caddyfile.Dispenser) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL