Documentation
¶
Index ¶
- Constants
- func DeleteJWTToken(jwtToken string) bool
- func ExtractJWTToken(c *core.Ctx) string
- func GetUserByToken(jwtToken string) *model.User
- func IsBlockedJWTToken(jwtToken string) (bool, error)
- func IsValidRefreshToken(refreshToken string) bool
- func New(excludes ...string) core.MiddlewareHandler
- func SignOut(jwtToken string) error
- func SignUp(signUp *dto.SignUp) (*model.User, error)
- type TokenMetadata
- type Tokens
Constants ¶
const ( // User model User string = "__jwt_user__" )
Keep user ID. c.SetData(constants.UserID, claims.UserID.String())
Variables ¶
This section is empty.
Functions ¶
func DeleteJWTToken ¶
DeleteJWTToken add jwtToken to blacklist
func ExtractJWTToken ¶
ExtractJWTToken func to get JWT from header.
func GetUserByToken ¶
GetUserByToken returns User by JWT token
func IsBlockedJWTToken ¶
IsBlockedJWTToken Check if jwtToken is locked or not
func IsValidRefreshToken ¶
IsValidRefreshToken func for parse second argument from refresh token. A refresh token is valid is not expired.
func New ¶
func New(excludes ...string) core.MiddlewareHandler
New an HTTP middleware that process login via JWT token.
Use:
app.Use(jwt.New( prefixAPI+"/info", prefixAPI+"/auth/signin", prefixAPI+"/auth/refresh", ))
func SignOut ¶
SignOut function takes in jwtToken string, utils.ExtractTokenMetadata extract access token metadata to get a userID which is the key that store refresh token in the Redis Caching then delete refresh token from the Redis and DeleteJWTToken will delete access token by send it to black-list (middleware will handle invalid token in blacklist).
Types ¶
type TokenMetadata ¶
TokenMetadata struct to describe metadata in JWT.
func ExtractTokenMetadata ¶
func ExtractTokenMetadata(tokenString string) (*TokenMetadata, error)
ExtractTokenMetadata func to extract metadata from JWT.
type Tokens ¶
Tokens struct to describe tokens object.
func GenerateTokens ¶
GenerateTokens func for generate a new Access & Refresh tokens.
func RefreshJWTToken ¶
RefreshJWTToken function to refresh JWT token from user.