token_generator

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EncryptUserDetails

func EncryptUserDetails(userDetails UserDetails) (string, error)

Types

type AppData

type AppData struct {
	AppName   string   `json:"app_name"`
	IPList    []string `json:"ip_list,omitempty"`
	UserAgent string   `json:"user_agent"`
}

type BaseJwt

type BaseJwt struct {
	// contains filtered or unexported fields
}

func NewJwt

func NewJwt(accessSecret, refreshSecret, signedMethod string) *BaseJwt

func (*BaseJwt) ParseToken

func (base *BaseJwt) ParseToken(typeClaims, jwtToken string) (*JwtMapClaims, error)

func (*BaseJwt) SetClaim

func (base *BaseJwt) SetClaim(userDetails UserDetails) (*BaseJwt, error)

func (*BaseJwt) SetClaimApp

func (base *BaseJwt) SetClaimApp(appData AppData) *BaseJwt

func (*BaseJwt) SetCtx

func (base *BaseJwt) SetCtx(ctx *http.Request) *BaseJwt

func (*BaseJwt) SetIssuer

func (base *BaseJwt) SetIssuer(issuer string) *BaseJwt

func (*BaseJwt) SetOrigin

func (base *BaseJwt) SetOrigin(origin string) *BaseJwt

func (*BaseJwt) SetRoles

func (base *BaseJwt) SetRoles(allowedRoles []string, defaultRoles string) *BaseJwt

func (*BaseJwt) SignClaims

func (base *BaseJwt) SignClaims() (signedToken *SignedToken, err error)

type HasuraClaim

type HasuraClaim struct {
	AllowedRoles []string `json:"x-hasura-allowed-roles"`
	DefaultRole  string   `json:"x-hasura-default-role"`
}

type JwtMapClaims

type JwtMapClaims struct {
	Uuid        string       `json:"uuid"`
	TokenData   TokenData    `json:"token_data"`
	UserDetails *UserDetails `json:"user_details"`
	HasuraClaim HasuraClaim  `json:"hasura_claim"`
	jwt.StandardClaims
}

type SignedToken

type SignedToken struct {
	Uuid             string `json:"uuid"`
	AccessToken      string `json:"access_token"`
	RefreshToken     string `json:"refresh_token"`
	AccessExpiredAt  int64  `json:"access_expired_at"`
	RefreshExpiredAt int64  `json:"refresh_expired_at"`
}

type TokenData

type TokenData struct {
	Origin      string   `json:"origin,omitempty"`
	Authorized  bool     `json:"authorized,omitempty"`
	UserDetails string   `json:"user_details,omitempty"`
	AppData     *AppData `json:"app_data,omitempty"`
}

type TokenGenerator

type TokenGenerator struct {
	Type string `json:"type"`
}

type UserDetails

type UserDetails struct {
	ID        string   `json:"id,omitempty"`
	Email     string   `json:"email,omitempty"`
	Username  string   `json:"username,omitempty"`
	UserRoles []string `json:"user_roles"`
}

func DecryptUserDetails

func DecryptUserDetails(secretMessage string) (UserDetails, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL