Options
All
  • Public
  • Public/Protected
  • All
Menu

These are the SDK reference docs. If you’re looking for docs to implement SuperTokens, you might want to check out the User Guides

Module recipe/thirdparty

Index

Type aliases

PostAPIHookContext

PostAPIHookContext: RecipePostAPIHookContext<PreAndPostAPIHookAction>

PreAPIHookContext

PreAPIHookContext: RecipePreAPIHookContext<PreAndPostAPIHookAction>

PreAndPostAPIHookAction

PreAndPostAPIHookAction: AuthRecipePreAndPostAPIHookAction | "GET_AUTHORISATION_URL" | "THIRD_PARTY_SIGN_IN_UP"

RecipeInterface

RecipeInterface: { generateStateToSendToOAuthProvider: any; getAuthCodeFromURL: any; getAuthErrorFromURL: any; getAuthStateFromURL: any; getAuthorisationURLFromBackend: any; getAuthorisationURLWithQueryParamsAndSetState: any; getStateAndOtherInfoFromStorage: any; setStateAndOtherInfoToStorage: any; signInAndUp: any; verifyAndGetStateOrThrowError: any }

Type declaration

  • generateStateToSendToOAuthProvider:function
    • generateStateToSendToOAuthProvider(input: { userContext: any }): string
    • Generate a new state that will be sent to the third party provider

      Parameters

      • input: { userContext: any }
        • userContext: any

      Returns string

      string

  • getAuthCodeFromURL:function
    • getAuthCodeFromURL(input: { userContext: any }): string
    • Returns the auth code from the current URL

      Parameters

      • input: { userContext: any }
        • userContext: any

      Returns string

      The "code" query param from the current URL. Returns an empty string if no code exists

  • getAuthErrorFromURL:function
    • getAuthErrorFromURL(input: { userContext: any }): undefined | string
    • Returns the error from the current URL

      Parameters

      • input: { userContext: any }
        • userContext: any

      Returns undefined | string

      The "error" query param from the current URL. Returns undefined if no error exists

  • getAuthStateFromURL:function
    • getAuthStateFromURL(input: { userContext: any }): string
    • Returns the auth state from the current URL

      Parameters

      • input: { userContext: any }
        • userContext: any

      Returns string

      The "state" query param from the current URL. Returns an empty string if no state exists

  • getAuthorisationURLFromBackend:function
    • getAuthorisationURLFromBackend(input: { options?: RecipeFunctionOptions; providerId: string; userContext: any }): Promise<{ fetchResponse: Response; status: "OK"; url: string }>
    • Get the URL to be used by the third party provider for redirecting after the auth flow

      throws

      STGeneralError if the API exposed by the backend SDKs returns status: "GENERAL_ERROR"

      Parameters

      Returns Promise<{ fetchResponse: Response; status: "OK"; url: string }>

      {status: "OK", url}

  • getAuthorisationURLWithQueryParamsAndSetState:function
    • getAuthorisationURLWithQueryParamsAndSetState(input: { authorisationURL: string; options?: RecipeFunctionOptions; providerClientId?: string; providerId: string; userContext: any }): Promise<string>
    • Get the URL that should be opened for third party authentication

      throws

      STGeneralError if the API exposed by the backend SDKs returns status: "GENERAL_ERROR"

      Parameters

      • input: { authorisationURL: string; options?: RecipeFunctionOptions; providerClientId?: string; providerId: string; userContext: any }
        • authorisationURL: string
        • Optional options?: RecipeFunctionOptions
        • Optional providerClientId?: string
        • providerId: string
        • userContext: any

      Returns Promise<string>

      URL string

  • getStateAndOtherInfoFromStorage:function
    • getStateAndOtherInfoFromStorage<CustomStateProperties>(input: { userContext: any }): undefined | (StateObject & CustomStateProperties)
    • Get the current login state from storage, this is also used when calling signInUp

      Type parameters

      • CustomStateProperties

      Parameters

      • input: { userContext: any }
        • userContext: any

      Returns undefined | (StateObject & CustomStateProperties)

      State object from storage

  • setStateAndOtherInfoToStorage:function
    • setStateAndOtherInfoToStorage<CustomStateProperties>(input: { state: StateObject & CustomStateProperties; userContext: any }): Promise<void>
  • signInAndUp:function
    • signInAndUp(input: { options?: RecipeFunctionOptions; userContext: any }): Promise<{ createdNewUser: boolean; fetchResponse: Response; status: "OK"; user: ThirdPartyUserType } | { fetchResponse: Response; status: "NO_EMAIL_GIVEN_BY_PROVIDER" }>
    • Sign up/Sign in the user, this method uses the login attempt information from storage

      throws

      STGeneralError if the API exposed by the backend SDKs returns status: "GENERAL_ERROR"

      Parameters

      Returns Promise<{ createdNewUser: boolean; fetchResponse: Response; status: "OK"; user: ThirdPartyUserType } | { fetchResponse: Response; status: "NO_EMAIL_GIVEN_BY_PROVIDER" }>

      {status: OK, user, createdNewUser: boolean} if succesful

  • verifyAndGetStateOrThrowError:function
    • verifyAndGetStateOrThrowError<CustomStateProperties>(input: { stateFromAuthProvider: string | undefined; stateObjectFromStorage: (StateObject & CustomStateProperties) | undefined; userContext: any }): Promise<StateObject & CustomStateProperties>
    • Verify that the state recieved from the third party provider matches the one in storage

      Type parameters

      • CustomStateProperties

      Parameters

      • input: { stateFromAuthProvider: string | undefined; stateObjectFromStorage: (StateObject & CustomStateProperties) | undefined; userContext: any }
        • stateFromAuthProvider: string | undefined
        • stateObjectFromStorage: (StateObject & CustomStateProperties) | undefined
        • userContext: any

      Returns Promise<StateObject & CustomStateProperties>

StateObject

StateObject: { authorisationURL: string; expiresAt: number; providerClientId?: string; providerId: string; stateForAuthProvider: string }

Type declaration

  • authorisationURL: string
  • expiresAt: number
  • Optional providerClientId?: string
  • providerId: string
  • stateForAuthProvider: string

ThirdPartyUserType

ThirdPartyUserType: UserType & { thirdParty: { id: string; userId: string } }

UserInput

UserInput: { override?: { emailVerification?: EmailVerificationOverride; functions?: any } } & RecipeModuleUserInput<PreAndPostAPIHookAction>

Functions

Const generateStateToSendToOAuthProvider

  • generateStateToSendToOAuthProvider(input?: { userContext?: any }): string

Const getAuthCodeFromURL

  • getAuthCodeFromURL(input?: { userContext?: any }): string

Const getAuthErrorFromURL

  • getAuthErrorFromURL(input?: { userContext?: any }): undefined | string

Const getAuthStateFromURL

  • getAuthStateFromURL(input?: { userContext?: any }): string

Const getAuthorisationURLFromBackend

  • getAuthorisationURLFromBackend(input: { options?: RecipeFunctionOptions; providerId: string; userContext?: any }): Promise<{ fetchResponse: Response; status: "OK"; url: string }>

Const getAuthorisationURLWithQueryParamsAndSetState

  • getAuthorisationURLWithQueryParamsAndSetState(input: { authorisationURL: string; options?: RecipeFunctionOptions; providerClientId?: string; providerId: string; userContext?: any }): Promise<string>

Const getStateAndOtherInfoFromStorage

  • getStateAndOtherInfoFromStorage<CustomStateProperties>(input?: { userContext?: any }): undefined | (StateObject & CustomStateProperties)

Const init

Const isEmailVerified

  • isEmailVerified(input?: { options?: RecipeFunctionOptions; userContext?: any }): Promise<{ fetchResponse: Response; isVerified: boolean; status: "OK" }>

Const sendVerificationEmail

  • sendVerificationEmail(input?: { options?: RecipeFunctionOptions; userContext?: any }): Promise<{ fetchResponse: Response; status: "OK" | "EMAIL_ALREADY_VERIFIED_ERROR" }>

Const setStateAndOtherInfoToStorage

  • setStateAndOtherInfoToStorage<CustomStateProperties>(input: { state: StateObject & CustomStateProperties; userContext?: any }): Promise<void>

Const signInAndUp

  • signInAndUp(input?: { options?: RecipeFunctionOptions; userContext?: any }): Promise<{ createdNewUser: boolean; fetchResponse: Response; status: "OK"; user: ThirdPartyUserType } | { fetchResponse: Response; status: "NO_EMAIL_GIVEN_BY_PROVIDER" }>

Const signOut

  • signOut(input?: { userContext?: any }): Promise<void>

Const verifyAndGetStateOrThrowError

  • verifyAndGetStateOrThrowError<CustomStateProperties>(input: { stateFromAuthProvider: undefined | string; stateObjectFromStorage: undefined | (StateObject & CustomStateProperties); userContext?: any }): Promise<StateObject & CustomStateProperties>
  • Type parameters

    • CustomStateProperties

    Parameters

    • input: { stateFromAuthProvider: undefined | string; stateObjectFromStorage: undefined | (StateObject & CustomStateProperties); userContext?: any }
      • stateFromAuthProvider: undefined | string
      • stateObjectFromStorage: undefined | (StateObject & CustomStateProperties)
      • Optional userContext?: any

    Returns Promise<StateObject & CustomStateProperties>

Const verifyEmail

  • verifyEmail(input?: { options?: RecipeFunctionOptions; userContext?: any }): Promise<{ fetchResponse: Response; status: "OK" | "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR" }>

Generated using TypeDoc