Documentation ¶
Index ¶
- Constants
- func DeleteAccessCookie(ctx *gin.Context)
- func DeleteRefreshCookie(ctx *gin.Context)
- func GetAllCookies(ctx *gin.Context) []*http.Cookie
- func InitCookieOptions(sameSite http.SameSite, secure bool)
- func PrintAllCookies(ctx *gin.Context)
- func SetAccessCookie(ctx *gin.Context, token string)
- func SetRefreshCookie(ctx *gin.Context, token string)
- func SetUserAccessCookie(ctx *gin.Context, token string)
- type ClaimsValidator
- type CookieAuthenticator
- type UserAuthenticator
Constants ¶
const ( AccessKey = "education_jwt_access" RefreshKey = "education_jwt_refresh" )
token keys
Variables ¶
This section is empty.
Functions ¶
func DeleteAccessCookie ¶
func DeleteRefreshCookie ¶
func InitCookieOptions ¶
InitCookieOptions initializes cookieOption
func PrintAllCookies ¶
func SetAccessCookie ¶
SetAccessCookie is expected to create & refresh JWT. Ex: SessionHandler
func SetRefreshCookie ¶
SetRefreshCookie is expected to create & refresh JWT. Ex: SessionHandler
func SetUserAccessCookie ¶
SetUserAccessCookie to set access token for user
Types ¶
type ClaimsValidator ¶
type ClaimsValidator interface {
// contains filtered or unexported methods
}
ClaimsValidator contains methods for verifying claims
func NewCSRFValidator ¶
func NewCSRFValidator(csrfRepository repository.CSRFRepository) ClaimsValidator
NewCSRFValidator return a claims validator for checking whether claims contain the correct csrf token
func NewRolesValidator ¶
func NewRolesValidator() ClaimsValidator
NewRolesValidator return a claims validator for checking whether claims contains roles information
func NewTermsOfUseValidator ¶
func NewTermsOfUseValidator() ClaimsValidator
NewTermsOfUseValidator return a claims validator for term of use agreement
func NewUserValidator ¶
func NewUserValidator() ClaimsValidator
NewUserValidator return a claims validator for checking whether claims contains user id information
type CookieAuthenticator ¶
type CookieAuthenticator struct {
// contains filtered or unexported fields
}
CookieAuthenticator is for User/Office Authentication and CSRF protection
func NewCookieAuthenticator ¶
func NewCookieAuthenticator(jwt services.JWT, validators ...ClaimsValidator) CookieAuthenticator
NewCookieAuthenticator returns CookieAuthenticator
func (*CookieAuthenticator) Authenticate ¶
func (m *CookieAuthenticator) Authenticate(ctx *gin.Context)
Authenticate validates JWT and CSRF token, set userID and officeID this function is likely to replace Authenticate function because we will not check error in context anymore
type UserAuthenticator ¶
type UserAuthenticator struct {
// contains filtered or unexported fields
}
func NewUserAuthenticator ¶
func NewUserAuthenticator(jwt services.JWT) *UserAuthenticator
func (*UserAuthenticator) Authenticate ¶
func (au *UserAuthenticator) Authenticate(ctx *gin.Context)