Documentation
¶
Index ¶
- func HashToken(token string) string
- type Claims
- type ServiceJWT
- func (s *ServiceJWT) GenerateAccessToken(user *model.User, authType types.AuthType, ...) (string, int64, error)
- func (s *ServiceJWT) GenerateRefreshToken(user *model.User, authType types.AuthType, ...) (string, int64, error)
- func (s *ServiceJWT) GenerateTokenPair(user *model.User, authType types.AuthType, ...) (*types.TokenPair, error)
- func (s *ServiceJWT) GetSecret() []byte
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Claims ¶
type Claims struct {
jwt.RegisteredClaims
UserID int64 `json:"uid"`
Username string `json:"username"`
AuthType types.AuthType `json:"authType"`
TokenType types.TokenType `json:"type"`
ExtraRoles []string `json:"roles,omitempty"`
SubjectPermissions *model.SubjectPermissions `json:"permissions,omitempty"`
}
type ServiceJWT ¶
type ServiceJWT struct {
// contains filtered or unexported fields
}
func NewServiceJWT ¶
func NewServiceJWT(cfg *config.JWTConfig) *ServiceJWT
func (*ServiceJWT) GenerateAccessToken ¶
func (s *ServiceJWT) GenerateAccessToken(user *model.User, authType types.AuthType, subjectPermissions *model.SubjectPermissions, extraRoles []string) (string, int64, error)
GenerateAccessToken creates only an access token for a user
func (*ServiceJWT) GenerateRefreshToken ¶
func (s *ServiceJWT) GenerateRefreshToken(user *model.User, authType types.AuthType, subjectPermissions *model.SubjectPermissions, extraRoles []string) (string, int64, error)
GenerateRefreshToken creates only a refresh token for a user
func (*ServiceJWT) GenerateTokenPair ¶
func (s *ServiceJWT) GenerateTokenPair(user *model.User, authType types.AuthType, subjectPermissions *model.SubjectPermissions, extraRoles []string) (*types.TokenPair, error)
GenerateTokenPair creates both access and refresh tokens for a user
func (*ServiceJWT) GetSecret ¶
func (s *ServiceJWT) GetSecret() []byte
GetSecret returns the JWT secret for use with Echo JWT middleware
Click to show internal directories.
Click to hide internal directories.