Documentation ¶
Index ¶
- type AuthRepository
- type JWTRepository
- func (webTokens JWTRepository) CreateStaffRefreshTokenSession(ctx context.Context, staff *models.StaffMember) (string, error)
- func (webTokens JWTRepository) GenerateStaffAccessToken(staff *models.StaffMember) (string, error)
- func (webTokens JWTRepository) VerifyStaffAccessToken(tokenString string) (*StaffJWTClaims, error)
- type StaffJWTClaims
- type StaffJWTRefreshTokenClaims
- type StaffRefreshTokenRepository
- func (srt *StaffRefreshTokenRepository) CreateStaffRefreshTokenSession(ctx context.Context, staff *models.StaffMember) (*models.RefreshToken, error)
- func (srt *StaffRefreshTokenRepository) InvalidateRefreshToken(ctx context.Context, refreshToken *models.RefreshToken) (*models.RefreshToken, error)
- func (srt *StaffRefreshTokenRepository) VerifyStaffRefreshToken(ctx context.Context, userID, refreshTokenID string) (*models.RefreshToken, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthRepository ¶
type AuthRepository struct {
// contains filtered or unexported fields
}
func NewAuthRepository ¶
func NewAuthRepository(db *mongo.Client) *AuthRepository
func (AuthRepository) IsAuthorizationHeaderValid ¶
func (a AuthRepository) IsAuthorizationHeaderValid(authorizationHeader string) (*StaffJWTClaims, error)
type JWTRepository ¶
func NewJWTRepository ¶
func NewJWTRepository(dbClient *mongo.Client) JWTRepository
func (JWTRepository) CreateStaffRefreshTokenSession ¶
func (webTokens JWTRepository) CreateStaffRefreshTokenSession(ctx context.Context, staff *models.StaffMember) (string, error)
CreateStaffRefreshTokenSession creates a new refresh token session for the staff and saves in the database. This allows the option to revoke the token and also tracking usage of refresh tokens. The refresh tokens will be single use and once used, they will be invalidated.
func (JWTRepository) GenerateStaffAccessToken ¶
func (webTokens JWTRepository) GenerateStaffAccessToken(staff *models.StaffMember) (string, error)
func (JWTRepository) VerifyStaffAccessToken ¶
func (webTokens JWTRepository) VerifyStaffAccessToken(tokenString string) (*StaffJWTClaims, error)
type StaffJWTClaims ¶
type StaffJWTRefreshTokenClaims ¶
type StaffJWTRefreshTokenClaims struct { models.RefreshToken jwt.StandardClaims }
type StaffRefreshTokenRepository ¶
type StaffRefreshTokenRepository struct { DBClient *mongo.Client // contains filtered or unexported fields }
func NewStaffRefreshToken ¶
func NewStaffRefreshToken(client *mongo.Client) *StaffRefreshTokenRepository
func (*StaffRefreshTokenRepository) CreateStaffRefreshTokenSession ¶
func (srt *StaffRefreshTokenRepository) CreateStaffRefreshTokenSession(ctx context.Context, staff *models.StaffMember) (*models.RefreshToken, error)
StaffRefreshTokenCreate creates a new staff refresh token and returns the StaffRefreshToken object.
func (*StaffRefreshTokenRepository) InvalidateRefreshToken ¶
func (srt *StaffRefreshTokenRepository) InvalidateRefreshToken(ctx context.Context, refreshToken *models.RefreshToken) (*models.RefreshToken, error)
StaffRefreshTokenGetByID invalidates refresh token by adding InvalidatedAt timestamp on it and returning it.
func (*StaffRefreshTokenRepository) VerifyStaffRefreshToken ¶
func (srt *StaffRefreshTokenRepository) VerifyStaffRefreshToken(ctx context.Context, userID, refreshTokenID string) (*models.RefreshToken, error)
StaffRefreshTokenGetByID returns a staff refresh token by ID.
Click to show internal directories.
Click to hide internal directories.