Documentation ¶
Index ¶
- func CheckOldsToken(db *kaoriDatabase.NoSqlDb, email string) error
- func ExtractToken(r *http.Request) string
- func IsAuthorized(perms []Permission, permsRequire ...Permission) bool
- func TokenValid(tokenString, secret string) error
- func VerifyExpireDate(exp int64) bool
- func VerifyRefreshToken(db *kaoriDatabase.NoSqlDb, email, idRefresh string) bool
- func VerifyToken(tokenString string, secret string) (*jwt.Token, error)
- type AccessPayload
- type JWTAccessMetadata
- type JWTRefreshMetadata
- type JWTokenPair
- type Permission
- type RefreshPayload
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckOldsToken ¶
func CheckOldsToken(db *kaoriDatabase.NoSqlDb, email string) error
func ExtractToken ¶
func IsAuthorized ¶
func IsAuthorized(perms []Permission, permsRequire ...Permission) bool
func TokenValid ¶
func VerifyExpireDate ¶
func VerifyRefreshToken ¶
func VerifyRefreshToken(db *kaoriDatabase.NoSqlDb, email, idRefresh string) bool
func VerifyToken ¶
Types ¶
type AccessPayload ¶
type AccessPayload struct { Obj *JWTAccessMetadata Token string }
type JWTAccessMetadata ¶
type JWTAccessMetadata struct { Iss string Iat int64 Exp int64 Company string Email string Permission string }
func ExtractAccessMetadata ¶
func ExtractAccessMetadata(tokenString, secret string) (*JWTAccessMetadata, error)
func NewAccessToken ¶
func NewAccessToken(addExpire int) *JWTAccessMetadata
func (*JWTAccessMetadata) GenerateToken ¶
func (jm *JWTAccessMetadata) GenerateToken(jwtPass string) (string, error)
func (JWTAccessMetadata) GetPermission ¶
func (jwt JWTAccessMetadata) GetPermission() (perms []Permission, err error)
type JWTRefreshMetadata ¶
func ExtractRefreshMetadata ¶
func ExtractRefreshMetadata(tokenString, secret string) (*JWTRefreshMetadata, error)
func NewRefreshToken ¶
func NewRefreshToken(addExpire int) *JWTRefreshMetadata
func (*JWTRefreshMetadata) GenerateToken ¶
func (jm *JWTRefreshMetadata) GenerateToken(refreshPass string) (string, error)
type JWTokenPair ¶
type JWTokenPair struct { Access AccessPayload Refresh RefreshPayload }
func NewJWTokenPair ¶
func NewJWTokenPair(accessExp, refreshExp int) *JWTokenPair
func (*JWTokenPair) GenerateTokenPair ¶
func (tp *JWTokenPair) GenerateTokenPair(accessPass, refreshPass string) error
type Permission ¶
type Permission string
const ( UserPerm Permission = "u" CreatorPerm Permission = "c" TesterPerm Permission = "t" AdminPerm Permission = "a" )
func GetPermissionFromDB ¶
func GetPermissionFromDB(db *kaoriDatabase.NoSqlDb, email string) (Permission, error)
func (Permission) ToString ¶
func (p Permission) ToString() string
type RefreshPayload ¶
type RefreshPayload struct { Obj *JWTRefreshMetadata Token string }
Click to show internal directories.
Click to hide internal directories.