Files
lone-services/services/user/internal/config/jwt.go
T
2026-09-02 17:37:12 +08:00

44 lines
812 B
Go

package config
import (
"fmt"
"lone-services/pkg/utils"
)
// JWTAuth 由服务配置初始化的 access / refresh 两套 JWT。
type JWTAuth struct {
Access *utils.JWT
Refresh *utils.JWT
}
func LoadJWTAuth() (*JWTAuth, error) {
issuer := utils.GetConfigString("jwt.issuer")
if issuer == utils.StringEmpty {
issuer = "lone-user"
}
access, err := utils.NewJWT(
utils.GetConfigString("jwt.access_secret"),
issuer,
utils.GetConfigInt("jwt.access_ttl"),
)
if err != nil {
return nil, fmt.Errorf("jwt access: %w", err)
}
refresh, err := utils.NewJWT(
utils.GetConfigString("jwt.refresh_secret"),
issuer,
utils.GetConfigInt("jwt.refresh_ttl"),
)
if err != nil {
return nil, fmt.Errorf("jwt refresh: %w", err)
}
return &JWTAuth{
Access: access,
Refresh: refresh,
}, nil
}