Documentation
¶
Overview ¶
Package utils 中的上下文辅助函数已迁移至 context_support.go。
Deprecated: 请更新依赖以直接引用 context_support.go 中的实现。
- Context工具函数支持
- 提供从 echo.Context 提取链路追踪信息并构建标准 context.Context 的能力。
Index ¶
- Constants
- Variables
- func BuildContext(c echo.Context) context.Context
- func GetRequestID(ctx context.Context) string
- func GetStartTime(ctx context.Context) time.Time
- func GetTraceID(ctx context.Context) string
- func GetUserID(ctx context.Context) string
- func Hash(plaintext string) (string, error)
- func MustRehashIfNeeded(storedHash, plaintext string) (newHash string, changed bool, err error)
- func NeedsRehash(storedHash string, currentCfg Config) (bool, error)
- func NewCasbinEnforcer(db *gorm.DB, cfg configs.Config) (*casbin.Enforcer, error)
- func SetBcryptCost(cost int)
- func SetConfig(c Config)
- func SetPepper(p []byte)
- func SetPepperFromEnv() error
- func SetupTestValidator(e *echo.Echo)
- func TokenSafeNow() int64
- func Verify(storedHash, plaintext string) (ok bool, needRehash bool, err error)
- func WithTraceInfo(ctx context.Context, traceID, spanID, requestID, userID string) context.Context
- type Config
- type CustomValidator
- type JwtCustomClaims
- type TraceContext
Constants ¶
View Source
const ( DefaultBcryptCost = 12 EnvPepperBase64 = "PASS_PEPPER_B64" // 环境变量名(可自定义) )
Variables ¶
View Source
var CasbinModule = fx.Module("casbin", fx.Provide(NewCasbinEnforcer), )
CasbinModule Casbin模块
Functions ¶
func BuildContext ¶
BuildContext 构造包含链路追踪信息的标准 context.Context
func GetRequestID ¶
GetRequestID 从 context 中获取 RequestID
func GetStartTime ¶
GetStartTime 从 context 中获取请求开始时间
func MustRehashIfNeeded ¶
MustRehashIfNeeded 在验证通过后调用;若 needRehash 为 true,立即重算并返回新哈希。 典型用法:登录成功时检测并平滑升级 cost。
func NeedsRehash ¶
NeedsRehash 判断一个存量哈希是否需要按当前策略重算。 当前策略仅依据 Bcrypt cost 判断(因为是否预哈希无法从 bcrypt 字符串反推)。
func NewCasbinEnforcer ¶
NewCasbinEnforcer 创建Casbin权限控制器
func SetPepperFromEnv ¶
func SetPepperFromEnv() error
SetPepperFromEnv 从环境变量 PASS_PEPPER_B64 读取 Pepper(Base64 编码)。
Types ¶
type Config ¶
type CustomValidator ¶
type CustomValidator struct {
// contains filtered or unexported fields
}
CustomValidator 自定义验证器结构
func (*CustomValidator) GetValidator ¶
func (cv *CustomValidator) GetValidator() *validator.Validate
GetValidator 获取验证器实例
func (*CustomValidator) Validate ¶
func (cv *CustomValidator) Validate(i interface{}) error
Validate 实现Echo的Validator接口
type JwtCustomClaims ¶
type TraceContext ¶
type TraceContext struct { TraceID string SpanID string RequestID string UserID string StartTime time.Time }
TraceContext 链路追踪上下文信息
func ExtractTraceContext ¶
func ExtractTraceContext(c echo.Context) *TraceContext
ExtractTraceContext 从 echo.Context 中提取链路追踪信息
Click to show internal directories.
Click to hide internal directories.