Documentation ¶
Index ¶
- Variables
- type AmazonOAuthFactor
- type AppleOAuthFactor
- type AuthenticateParams
- type AuthenticateResponse
- type AuthenticationFactor
- type AuthenticationFactorDeliveryMethod
- type AuthenticationFactorType
- type AuthenticatorAppFactor
- type BiometricFactor
- type BitbucketOAuthFactor
- type Claims
- type ClaimsWrapper
- type CoinbaseOAuthFactor
- type CryptoWalletFactor
- type DiscordOAuthFactor
- type EmailFactor
- type EmbeddableMagicLinkFactor
- type FacebookOAuthFactor
- type FigmaOAuthFactor
- type GetJWKSParams
- type GetJWKSResponse
- type GetParams
- type GetResponse
- type GitLabOAuthFactor
- type GithubOAuthFactor
- type GoogleOAuthFactor
- type InstagramOAuthFactor
- type JWK
- type LinkedInOAuthFactor
- type MicrosoftOAuthFactor
- type OIDCSSOFactor
- type PhoneNumberFactor
- type RecoveryCodeFactor
- type RevokeParams
- type RevokeResponse
- type SAMLSSOFactor
- type SalesforceOAuthFactor
- type Session
- type SessionClaim
- type SessionWrapper
- type ShopifyOAuthFactor
- type SlackOAuthFactor
- type SnapchatOAuthFactor
- type SpotifyOAuthFactor
- type SteamOAuthFactor
- type TikTokOAuthFactor
- type TwitchOAuthFactor
- type TwitterOAuthFactor
- type WebAuthnFactor
- type YahooOAuthFactor
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrJWTTooOld = errors.New("JWT too old")
Functions ¶
This section is empty.
Types ¶
type AmazonOAuthFactor ¶
type AppleOAuthFactor ¶
type AuthenticateParams ¶
type AuthenticateParams struct { // SessionToken: The session token to authenticate. SessionToken string `json:"session_token,omitempty"` // SessionDurationMinutes: Set the session lifetime to be this many minutes from now; minimum of 5 and a // maximum of 527040 minutes (366 days). Note that a successful authentication will continue to extend the // session this many minutes. SessionDurationMinutes int32 `json:"session_duration_minutes,omitempty"` // SessionJWT: The JWT to authenticate. You may provide a JWT that has expired according to its `exp` claim // and needs to be refreshed. If the signature is valid and the underlying session is still active then // Stytch will return a new JWT. SessionJWT string `json:"session_jwt,omitempty"` // SessionCustomClaims: Add a custom claims map to the Session being authenticated. Claims are only created // if a Session is initialized by providing a value in `session_duration_minutes`. Claims will be included // on the Session object and in the JWT. To update a key in an existing Session, supply a new value. To // delete a key, supply a null value. // // Custom claims made with reserved claims ("iss", "sub", "aud", "exp", "nbf", "iat", "jti") will be // ignored. Total custom claims size cannot exceed four kilobytes. SessionCustomClaims map[string]any `json:"session_custom_claims,omitempty"` }
AuthenticateParams: Request type for `Sessions.Authenticate`.
type AuthenticateResponse ¶
type AuthenticateResponse struct { // RequestID: Globally unique UUID that is returned with every API call. This value is important to log for // debugging purposes; we may ask for this value to help identify a specific API call when helping you // debug an issue. RequestID string `json:"request_id,omitempty"` // Session: If you initiate a Session, by including `session_duration_minutes` in your authenticate call, // you'll receive a full Session object in the response. // // See [GET sessions](https://stytch.com/docs/api/session-get) for complete response fields. // Session Session `json:"session,omitempty"` // SessionToken: A secret token for a given Stytch Session. SessionToken string `json:"session_token,omitempty"` // SessionJWT: The JSON Web Token (JWT) for a given Stytch Session. SessionJWT string `json:"session_jwt,omitempty"` // User: The `user` object affected by this API call. See the // [Get user endpoint](https://stytch.com/docs/api/get-user) for complete response field details. User users.User `json:"user,omitempty"` // StatusCode: The HTTP status code of the response. Stytch follows standard HTTP response status code // patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX // are server errors. StatusCode int32 `json:"status_code,omitempty"` }
AuthenticateResponse: Response type for `Sessions.Authenticate`.
type AuthenticationFactor ¶
type AuthenticationFactor struct { Type AuthenticationFactorType `json:"type,omitempty"` DeliveryMethod AuthenticationFactorDeliveryMethod `json:"delivery_method,omitempty"` LastAuthenticatedAt *time.Time `json:"last_authenticated_at,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` EmailFactor *EmailFactor `json:"email_factor,omitempty"` PhoneNumberFactor *PhoneNumberFactor `json:"phone_number_factor,omitempty"` GoogleOAuthFactor *GoogleOAuthFactor `json:"google_oauth_factor,omitempty"` MicrosoftOAuthFactor *MicrosoftOAuthFactor `json:"microsoft_oauth_factor,omitempty"` AppleOAuthFactor *AppleOAuthFactor `json:"apple_oauth_factor,omitempty"` WebAuthnFactor *WebAuthnFactor `json:"webauthn_factor,omitempty"` AuthenticatorAppFactor *AuthenticatorAppFactor `json:"authenticator_app_factor,omitempty"` GithubOAuthFactor *GithubOAuthFactor `json:"github_oauth_factor,omitempty"` RecoveryCodeFactor *RecoveryCodeFactor `json:"recovery_code_factor,omitempty"` FacebookOAuthFactor *FacebookOAuthFactor `json:"facebook_oauth_factor,omitempty"` CryptoWalletFactor *CryptoWalletFactor `json:"crypto_wallet_factor,omitempty"` AmazonOAuthFactor *AmazonOAuthFactor `json:"amazon_oauth_factor,omitempty"` BitbucketOAuthFactor *BitbucketOAuthFactor `json:"bitbucket_oauth_factor,omitempty"` CoinbaseOAuthFactor *CoinbaseOAuthFactor `json:"coinbase_oauth_factor,omitempty"` DiscordOAuthFactor *DiscordOAuthFactor `json:"discord_oauth_factor,omitempty"` FigmaOAuthFactor *FigmaOAuthFactor `json:"figma_oauth_factor,omitempty"` GitLabOAuthFactor *GitLabOAuthFactor `json:"git_lab_oauth_factor,omitempty"` InstagramOAuthFactor *InstagramOAuthFactor `json:"instagram_oauth_factor,omitempty"` LinkedInOAuthFactor *LinkedInOAuthFactor `json:"linked_in_oauth_factor,omitempty"` ShopifyOAuthFactor *ShopifyOAuthFactor `json:"shopify_oauth_factor,omitempty"` SlackOAuthFactor *SlackOAuthFactor `json:"slack_oauth_factor,omitempty"` SnapchatOAuthFactor *SnapchatOAuthFactor `json:"snapchat_oauth_factor,omitempty"` SpotifyOAuthFactor *SpotifyOAuthFactor `json:"spotify_oauth_factor,omitempty"` SteamOAuthFactor *SteamOAuthFactor `json:"steam_oauth_factor,omitempty"` TikTokOAuthFactor *TikTokOAuthFactor `json:"tik_tok_oauth_factor,omitempty"` TwitchOAuthFactor *TwitchOAuthFactor `json:"twitch_oauth_factor,omitempty"` TwitterOAuthFactor *TwitterOAuthFactor `json:"twitter_oauth_factor,omitempty"` EmbeddableMagicLinkFactor *EmbeddableMagicLinkFactor `json:"embeddable_magic_link_factor,omitempty"` BiometricFactor *BiometricFactor `json:"biometric_factor,omitempty"` SAMLSSOFactor *SAMLSSOFactor `json:"saml_sso_factor,omitempty"` OIDCSSOFactor *OIDCSSOFactor `json:"oidc_sso_factor,omitempty"` SalesforceOAuthFactor *SalesforceOAuthFactor `json:"salesforce_oauth_factor,omitempty"` YahooOAuthFactor *YahooOAuthFactor `json:"yahoo_oauth_factor,omitempty"` }
type AuthenticationFactorDeliveryMethod ¶
type AuthenticationFactorDeliveryMethod string
const ( AuthenticationFactorDeliveryMethodEmail AuthenticationFactorDeliveryMethod = "email" AuthenticationFactorDeliveryMethodSms AuthenticationFactorDeliveryMethod = "sms" AuthenticationFactorDeliveryMethodWhatsapp AuthenticationFactorDeliveryMethod = "whatsapp" AuthenticationFactorDeliveryMethodEmbedded AuthenticationFactorDeliveryMethod = "embedded" AuthenticationFactorDeliveryMethodOAuthGoogle AuthenticationFactorDeliveryMethod = "oauth_google" AuthenticationFactorDeliveryMethodOAuthMicrosoft AuthenticationFactorDeliveryMethod = "oauth_microsoft" AuthenticationFactorDeliveryMethodOAuthApple AuthenticationFactorDeliveryMethod = "oauth_apple" AuthenticationFactorDeliveryMethodWebAuthnRegistration AuthenticationFactorDeliveryMethod = "webauthn_registration" AuthenticationFactorDeliveryMethodAuthenticatorApp AuthenticationFactorDeliveryMethod = "authenticator_app" AuthenticationFactorDeliveryMethodOAuthGithub AuthenticationFactorDeliveryMethod = "oauth_github" AuthenticationFactorDeliveryMethodRecoveryCode AuthenticationFactorDeliveryMethod = "recovery_code" AuthenticationFactorDeliveryMethodOAuthFacebook AuthenticationFactorDeliveryMethod = "oauth_facebook" AuthenticationFactorDeliveryMethodCryptoWallet AuthenticationFactorDeliveryMethod = "crypto_wallet" AuthenticationFactorDeliveryMethodOAuthAmazon AuthenticationFactorDeliveryMethod = "oauth_amazon" AuthenticationFactorDeliveryMethodOAuthBitbucket AuthenticationFactorDeliveryMethod = "oauth_bitbucket" AuthenticationFactorDeliveryMethodOAuthCoinbase AuthenticationFactorDeliveryMethod = "oauth_coinbase" AuthenticationFactorDeliveryMethodOAuthDiscord AuthenticationFactorDeliveryMethod = "oauth_discord" AuthenticationFactorDeliveryMethodOAuthFigma AuthenticationFactorDeliveryMethod = "oauth_figma" AuthenticationFactorDeliveryMethodOAuthGitlab AuthenticationFactorDeliveryMethod = "oauth_gitlab" AuthenticationFactorDeliveryMethodOAuthInstagram AuthenticationFactorDeliveryMethod = "oauth_instagram" AuthenticationFactorDeliveryMethodOAuthLinkedin AuthenticationFactorDeliveryMethod = "oauth_linkedin" AuthenticationFactorDeliveryMethodOAuthShopify AuthenticationFactorDeliveryMethod = "oauth_shopify" AuthenticationFactorDeliveryMethodOAuthSlack AuthenticationFactorDeliveryMethod = "oauth_slack" AuthenticationFactorDeliveryMethodOAuthSnapchat AuthenticationFactorDeliveryMethod = "oauth_snapchat" AuthenticationFactorDeliveryMethodOAuthSpotify AuthenticationFactorDeliveryMethod = "oauth_spotify" AuthenticationFactorDeliveryMethodOAuthSteam AuthenticationFactorDeliveryMethod = "oauth_steam" AuthenticationFactorDeliveryMethodOAuthTiktok AuthenticationFactorDeliveryMethod = "oauth_tiktok" AuthenticationFactorDeliveryMethodOAuthTwitch AuthenticationFactorDeliveryMethod = "oauth_twitch" AuthenticationFactorDeliveryMethodOAuthTwitter AuthenticationFactorDeliveryMethod = "oauth_twitter" AuthenticationFactorDeliveryMethodKnowledge AuthenticationFactorDeliveryMethod = "knowledge" AuthenticationFactorDeliveryMethodBiometric AuthenticationFactorDeliveryMethod = "biometric" AuthenticationFactorDeliveryMethodSSOSAML AuthenticationFactorDeliveryMethod = "sso_saml" AuthenticationFactorDeliveryMethodSSOOIDC AuthenticationFactorDeliveryMethod = "sso_oidc" AuthenticationFactorDeliveryMethodOAuthSalesforce AuthenticationFactorDeliveryMethod = "oauth_salesforce" AuthenticationFactorDeliveryMethodOAuthYahoo AuthenticationFactorDeliveryMethod = "oauth_yahoo" )
type AuthenticationFactorType ¶
type AuthenticationFactorType string
const ( AuthenticationFactorTypeMagicLink AuthenticationFactorType = "magic_link" AuthenticationFactorTypeOTP AuthenticationFactorType = "otp" AuthenticationFactorTypeOAuth AuthenticationFactorType = "oauth" AuthenticationFactorTypeWebAuthn AuthenticationFactorType = "webauthn" AuthenticationFactorTypeTOTP AuthenticationFactorType = "totp" AuthenticationFactorTypeCrypto AuthenticationFactorType = "crypto" AuthenticationFactorTypePassword AuthenticationFactorType = "password" AuthenticationFactorTypeSignatureChallenge AuthenticationFactorType = "signature_challenge" AuthenticationFactorTypeSSO AuthenticationFactorType = "sso" )
type AuthenticatorAppFactor ¶
type AuthenticatorAppFactor struct {
TOTPID string `json:"totp_id,omitempty"`
}
type BiometricFactor ¶
type BiometricFactor struct {
BiometricRegistrationID string `json:"biometric_registration_id,omitempty"`
}
type BitbucketOAuthFactor ¶
type Claims ¶
type Claims struct { StytchSession SessionClaim `json:"https://stytch.com/session"` jwt.RegisteredClaims }
type ClaimsWrapper ¶
type CoinbaseOAuthFactor ¶
type CryptoWalletFactor ¶
type DiscordOAuthFactor ¶
type EmailFactor ¶
type EmbeddableMagicLinkFactor ¶
type EmbeddableMagicLinkFactor struct {
EmbeddedID string `json:"embedded_id,omitempty"`
}
type FacebookOAuthFactor ¶
type FigmaOAuthFactor ¶
type GetJWKSParams ¶
type GetJWKSParams struct { // ProjectID: The `project_id` to get the JWKS for. ProjectID string `json:"project_id,omitempty"` }
GetJWKSParams: Request type for `Sessions.GetJWKS`.
type GetJWKSResponse ¶
type GetJWKSResponse struct { // Keys: The JWK Keys []JWK `json:"keys,omitempty"` // RequestID: Globally unique UUID that is returned with every API call. This value is important to log for // debugging purposes; we may ask for this value to help identify a specific API call when helping you // debug an issue. RequestID string `json:"request_id,omitempty"` // StatusCode: The HTTP status code of the response. Stytch follows standard HTTP response status code // patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX // are server errors. StatusCode int32 `json:"status_code,omitempty"` }
GetJWKSResponse: Response type for `Sessions.GetJWKS`.
type GetParams ¶
type GetParams struct { // UserID: The `user_id` to get active Sessions for. UserID string `json:"user_id,omitempty"` }
GetParams: Request type for `Sessions.Get`.
type GetResponse ¶
type GetResponse struct { // RequestID: Globally unique UUID that is returned with every API call. This value is important to log for // debugging purposes; we may ask for this value to help identify a specific API call when helping you // debug an issue. RequestID string `json:"request_id,omitempty"` // Sessions: An array of Session objects. Sessions []Session `json:"sessions,omitempty"` // StatusCode: The HTTP status code of the response. Stytch follows standard HTTP response status code // patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX // are server errors. StatusCode int32 `json:"status_code,omitempty"` }
GetResponse: Response type for `Sessions.Get`.
type GitLabOAuthFactor ¶
type GithubOAuthFactor ¶
type GoogleOAuthFactor ¶
type InstagramOAuthFactor ¶
type JWK ¶
type JWK struct { Kty string `json:"kty,omitempty"` Use string `json:"use,omitempty"` KeyOps []string `json:"key_ops,omitempty"` Alg string `json:"alg,omitempty"` Kid string `json:"kid,omitempty"` X5C []string `json:"x5c,omitempty"` X5TS256 string `json:"x5t_s256,omitempty"` N string `json:"n,omitempty"` E string `json:"e,omitempty"` }
type LinkedInOAuthFactor ¶
type MicrosoftOAuthFactor ¶
type OIDCSSOFactor ¶
type PhoneNumberFactor ¶
type RecoveryCodeFactor ¶
type RecoveryCodeFactor struct {
TOTPRecoveryCodeID string `json:"totp_recovery_code_id,omitempty"`
}
type RevokeParams ¶
type RevokeParams struct { // SessionID: The `session_id` to revoke. SessionID string `json:"session_id,omitempty"` // SessionToken: The session token to revoke. SessionToken string `json:"session_token,omitempty"` // SessionJWT: A JWT for the session to revoke. SessionJWT string `json:"session_jwt,omitempty"` }
RevokeParams: Request type for `Sessions.Revoke`.
type RevokeResponse ¶
type RevokeResponse struct { // RequestID: Globally unique UUID that is returned with every API call. This value is important to log for // debugging purposes; we may ask for this value to help identify a specific API call when helping you // debug an issue. RequestID string `json:"request_id,omitempty"` // StatusCode: The HTTP status code of the response. Stytch follows standard HTTP response status code // patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX // are server errors. StatusCode int32 `json:"status_code,omitempty"` }
RevokeResponse: Response type for `Sessions.Revoke`.
type SAMLSSOFactor ¶
type SalesforceOAuthFactor ¶
type Session ¶
type Session struct { // SessionID: A unique identifier for a specific Session. SessionID string `json:"session_id,omitempty"` // UserID: The unique ID of the affected User. UserID string `json:"user_id,omitempty"` // AuthenticationFactors: An array of different authentication factors that have initiated a Session. AuthenticationFactors []AuthenticationFactor `json:"authentication_factors,omitempty"` // StartedAt: The timestamp when the Session was created. Values conform to the RFC 3339 standard and are // expressed in UTC, e.g. `2021-12-29T12:33:09Z`. StartedAt *time.Time `json:"started_at,omitempty"` // LastAccessedAt: The timestamp when the Session was last accessed. Values conform to the RFC 3339 // standard and are expressed in UTC, e.g. `2021-12-29T12:33:09Z`. LastAccessedAt *time.Time `json:"last_accessed_at,omitempty"` // ExpiresAt: The timestamp when the Session expires. Values conform to the RFC 3339 standard and are // expressed in UTC, e.g. `2021-12-29T12:33:09Z`. ExpiresAt *time.Time `json:"expires_at,omitempty"` // Attributes: Provided attributes help with fraud detection. Attributes *attribute.Attributes `json:"attributes,omitempty"` // CustomClaims: The custom claims map for a Session. Claims can be added to a session during a Sessions // authenticate call. CustomClaims map[string]any `json:"custom_claims,omitempty"` }
Session:
type SessionClaim ¶
type SessionClaim struct { ID string `json:"id"` StartedAt string `json:"started_at"` LastAccessedAt string `json:"last_accessed_at"` ExpiresAt string `json:"expires_at"` Attributes attribute.Attributes `json:"attributes"` AuthenticationFactors []AuthenticationFactor `json:"authentication_factors"` }
type SessionWrapper ¶
type SessionWrapper struct {
Session ClaimsWrapper `json:"session"`
}
type ShopifyOAuthFactor ¶
type SlackOAuthFactor ¶
type SnapchatOAuthFactor ¶
type SpotifyOAuthFactor ¶
type SteamOAuthFactor ¶
type TikTokOAuthFactor ¶
type TwitchOAuthFactor ¶
type TwitterOAuthFactor ¶
type WebAuthnFactor ¶
type YahooOAuthFactor ¶
Click to show internal directories.
Click to hide internal directories.