Documentation
¶
Index ¶
- Constants
- type APIInterface
- type APIOptions
- type CreateOrRefreshAPIResponse
- type CreateOrRefreshAPIResponseToken
- type ErrorHandlers
- type GetClaimValueResult
- type GetSessionResponse
- type HandshakeInfo
- type JWTInputConfig
- type JWTNormalisedConfig
- type KeyInfo
- type NormalisedErrorHandlers
- type OverrideStruct
- type RecipeInterface
- type RegenerateAccessTokenResponse
- type SessionContainer
- type SessionInformation
- type SessionStruct
- type SignOutPOSTResponse
- type TypeInput
- type TypeNormalisedInput
- type TypeSessionContainer
- type ValidateClaimsResponse
- type ValidateClaimsResult
- type VerifySessionOptions
Constants ¶
View Source
const SessionContext int = iota
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIInterface ¶
type APIInterface struct { RefreshPOST *func(options APIOptions, userContext supertokens.UserContext) (SessionContainer, error) SignOutPOST *func(sessionContainer SessionContainer, options APIOptions, userContext supertokens.UserContext) (SignOutPOSTResponse, error) VerifySession *func(verifySessionOptions *VerifySessionOptions, options APIOptions, userContext supertokens.UserContext) (SessionContainer, error) }
*
- We do not add a GeneralErrorResponse response to the refresh API
- since it's not something that is directly called by the user on the
- frontend anyway
type APIOptions ¶
type APIOptions struct { RecipeImplementation RecipeInterface Config TypeNormalisedInput RecipeID string Req *http.Request Res http.ResponseWriter OtherHandler http.HandlerFunc ClaimValidatorsAddedByOtherRecipes []claims.SessionClaimValidator }
type CreateOrRefreshAPIResponse ¶
type CreateOrRefreshAPIResponse struct { Session SessionStruct `json:"session"` AccessToken CreateOrRefreshAPIResponseToken `json:"accessToken"` RefreshToken CreateOrRefreshAPIResponseToken `json:"refreshToken"` IDRefreshToken CreateOrRefreshAPIResponseToken `json:"idRefreshToken"` AntiCsrfToken *string `json:"antiCsrfToken"` }
type ErrorHandlers ¶
type ErrorHandlers struct { OnTokenTheftDetected func(sessionHandle string, userID string, req *http.Request, res http.ResponseWriter) error OnInvalidClaim func(validationErrors []claims.ClaimValidationError, req *http.Request, res http.ResponseWriter) error }
type GetClaimValueResult ¶ added in v0.9.0
type GetClaimValueResult struct { OK *struct { Value interface{} } SessionDoesNotExistError *struct{} }
type GetSessionResponse ¶
type GetSessionResponse struct { Session SessionStruct `json:"session"` AccessToken CreateOrRefreshAPIResponseToken `json:"accessToken"` }
type HandshakeInfo ¶
type HandshakeInfo struct { AntiCsrf string AccessTokenBlacklistingEnabled bool AccessTokenValidity uint64 RefreshTokenValidity uint64 // contains filtered or unexported fields }
func (*HandshakeInfo) GetJwtSigningPublicKeyList ¶ added in v0.0.2
func (h *HandshakeInfo) GetJwtSigningPublicKeyList() []KeyInfo
func (*HandshakeInfo) SetJwtSigningPublicKeyList ¶ added in v0.0.2
func (h *HandshakeInfo) SetJwtSigningPublicKeyList(updatedList []KeyInfo)
type JWTInputConfig ¶ added in v0.3.2
type JWTNormalisedConfig ¶ added in v0.3.2
type NormalisedErrorHandlers ¶
type NormalisedErrorHandlers struct { OnTryRefreshToken func(message string, req *http.Request, res http.ResponseWriter) error OnTokenTheftDetected func(sessionHandle string, userID string, req *http.Request, res http.ResponseWriter) error OnInvalidClaim func(validationErrors []claims.ClaimValidationError, req *http.Request, res http.ResponseWriter) error }
type OverrideStruct ¶
type OverrideStruct struct { Functions func(originalImplementation RecipeInterface) RecipeInterface APIs func(originalImplementation APIInterface) APIInterface OpenIdFeature *openidmodels.OverrideStruct }
type RecipeInterface ¶
type RecipeInterface struct { CreateNewSession *func(res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (SessionContainer, error) GetSession *func(req *http.Request, res http.ResponseWriter, options *VerifySessionOptions, userContext supertokens.UserContext) (SessionContainer, error) RefreshSession *func(req *http.Request, res http.ResponseWriter, userContext supertokens.UserContext) (SessionContainer, error) GetSessionInformation *func(sessionHandle string, userContext supertokens.UserContext) (*SessionInformation, error) RevokeAllSessionsForUser *func(userID string, userContext supertokens.UserContext) ([]string, error) GetAllSessionHandlesForUser *func(userID string, userContext supertokens.UserContext) ([]string, error) RevokeSession *func(sessionHandle string, userContext supertokens.UserContext) (bool, error) RevokeMultipleSessions *func(sessionHandles []string, userContext supertokens.UserContext) ([]string, error) UpdateSessionData *func(sessionHandle string, newSessionData map[string]interface{}, userContext supertokens.UserContext) (bool, error) UpdateAccessTokenPayload *func(sessionHandle string, newAccessTokenPayload map[string]interface{}, userContext supertokens.UserContext) (bool, error) MergeIntoAccessTokenPayload *func(sessionHandle string, accessTokenPayloadUpdate map[string]interface{}, userContext supertokens.UserContext) (bool, error) GetAccessTokenLifeTimeMS *func(userContext supertokens.UserContext) (uint64, error) GetRefreshTokenLifeTimeMS *func(userContext supertokens.UserContext) (uint64, error) RegenerateAccessToken *func(accessToken string, newAccessTokenPayload *map[string]interface{}, userContext supertokens.UserContext) (*RegenerateAccessTokenResponse, error) GetGlobalClaimValidators *func(userId string, claimValidatorsAddedByOtherRecipes []claims.SessionClaimValidator, userContext supertokens.UserContext) ([]claims.SessionClaimValidator, error) ValidateClaims *func(userId string, accessTokenPayload map[string]interface{}, claimValidators []claims.SessionClaimValidator, userContext supertokens.UserContext) (ValidateClaimsResult, error) ValidateClaimsInJWTPayload *func(userId string, jwtPayload map[string]interface{}, claimValidators []claims.SessionClaimValidator, userContext supertokens.UserContext) ([]claims.ClaimValidationError, error) FetchAndSetClaim *func(sessionHandle string, claim *claims.TypeSessionClaim, userContext supertokens.UserContext) (bool, error) SetClaimValue *func(sessionHandle string, claim *claims.TypeSessionClaim, value interface{}, userContext supertokens.UserContext) (bool, error) GetClaimValue *func(sessionHandle string, claim *claims.TypeSessionClaim, userContext supertokens.UserContext) (GetClaimValueResult, error) RemoveClaim *func(sessionHandle string, claim *claims.TypeSessionClaim, userContext supertokens.UserContext) (bool, error) }
type RegenerateAccessTokenResponse ¶ added in v0.5.0
type RegenerateAccessTokenResponse struct { Status string `json:"status"` Session SessionStruct `json:"session"` AccessToken CreateOrRefreshAPIResponseToken `json:"accessToken"` }
type SessionContainer ¶
type SessionContainer = *TypeSessionContainer
type SessionInformation ¶
type SessionStruct ¶
type SignOutPOSTResponse ¶
type SignOutPOSTResponse struct { OK *struct{} GeneralError *supertokens.GeneralErrorResponse }
type TypeInput ¶
type TypeInput struct { CookieSecure *bool CookieSameSite *string SessionExpiredStatusCode *int InvalidClaimStatusCode *int CookieDomain *string AntiCsrf *string Override *OverrideStruct ErrorHandlers *ErrorHandlers Jwt *JWTInputConfig }
type TypeNormalisedInput ¶
type TypeNormalisedInput struct { RefreshTokenPath supertokens.NormalisedURLPath CookieDomain *string CookieSameSite string CookieSecure bool SessionExpiredStatusCode int InvalidClaimStatusCode int AntiCsrf string Override OverrideStruct ErrorHandlers NormalisedErrorHandlers Jwt JWTNormalisedConfig }
type TypeSessionContainer ¶ added in v0.9.0
type TypeSessionContainer struct { RevokeSession func() error GetSessionData func() (map[string]interface{}, error) UpdateSessionData func(newSessionData map[string]interface{}) error GetUserID func() string GetAccessTokenPayload func() map[string]interface{} GetHandle func() string GetAccessToken func() string UpdateAccessTokenPayload func(newAccessTokenPayload map[string]interface{}) error // Deprecated: use MergeIntoAccessTokenPayload instead GetTimeCreated func() (uint64, error) GetExpiry func() (uint64, error) RevokeSessionWithContext func(userContext supertokens.UserContext) error GetSessionDataWithContext func(userContext supertokens.UserContext) (map[string]interface{}, error) UpdateSessionDataWithContext func(newSessionData map[string]interface{}, userContext supertokens.UserContext) error GetUserIDWithContext func(userContext supertokens.UserContext) string GetAccessTokenPayloadWithContext func(userContext supertokens.UserContext) map[string]interface{} GetHandleWithContext func(userContext supertokens.UserContext) string GetAccessTokenWithContext func(userContext supertokens.UserContext) string UpdateAccessTokenPayloadWithContext func(newAccessTokenPayload map[string]interface{}, userContext supertokens.UserContext) error // Deprecated: use MergeIntoAccessTokenPayloadWithContext instead GetTimeCreatedWithContext func(userContext supertokens.UserContext) (uint64, error) GetExpiryWithContext func(userContext supertokens.UserContext) (uint64, error) MergeIntoAccessTokenPayloadWithContext func(accessTokenPayloadUpdate map[string]interface{}, userContext supertokens.UserContext) error AssertClaimsWithContext func(claimValidators []claims.SessionClaimValidator, userContext supertokens.UserContext) error FetchAndSetClaimWithContext func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) error SetClaimValueWithContext func(claim *claims.TypeSessionClaim, value interface{}, userContext supertokens.UserContext) error GetClaimValueWithContext func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) interface{} RemoveClaimWithContext func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) error MergeIntoAccessTokenPayload func(accessTokenPayloadUpdate map[string]interface{}) error AssertClaims func(claimValidators []claims.SessionClaimValidator) error FetchAndSetClaim func(claim *claims.TypeSessionClaim) error SetClaimValue func(claim *claims.TypeSessionClaim, value interface{}) error GetClaimValue func(claim *claims.TypeSessionClaim) interface{} RemoveClaim func(claim *claims.TypeSessionClaim) error }
type ValidateClaimsResponse ¶ added in v0.9.0
type ValidateClaimsResponse struct { OK *struct { InvalidClaims []claims.ClaimValidationError } SessionDoesNotExistError *struct{} }
type ValidateClaimsResult ¶ added in v0.9.0
type ValidateClaimsResult struct { InvalidClaims []claims.ClaimValidationError AccessTokenPayloadUpdate map[string]interface{} }
type VerifySessionOptions ¶
type VerifySessionOptions struct { AntiCsrfCheck *bool SessionRequired *bool OverrideGlobalClaimValidators func(globalClaimValidators []claims.SessionClaimValidator, sessionContainer SessionContainer, userContext supertokens.UserContext) ([]claims.SessionClaimValidator, error) }
Click to show internal directories.
Click to hide internal directories.