supertokens-node
    Preparing search index...

    Type Alias RecipeInterface

    type RecipeInterface = {
        createNewSession(
            input: {
                accessTokenPayload?: any;
                disableAntiCsrf?: boolean;
                recipeUserId: RecipeUserId;
                sessionDataInDatabase?: any;
                tenantId: string;
                userContext: UserContext;
                userId: string;
            },
        ): Promise<SessionContainer>;
        fetchAndSetClaim(
            input: {
                claim: SessionClaim<any>;
                sessionHandle: string;
                userContext: UserContext;
            },
        ): Promise<boolean>;
        getAllSessionHandlesForUser(
            input: {
                fetchAcrossAllTenants?: boolean;
                fetchSessionsForAllLinkedAccounts: boolean;
                tenantId: string;
                userContext: UserContext;
                userId: string;
            },
        ): Promise<string[]>;
        getClaimValue<T>(
            input: {
                claim: SessionClaim<T>;
                sessionHandle: string;
                userContext: UserContext;
            },
        ): Promise<
            | { status: "SESSION_DOES_NOT_EXIST_ERROR" }
            | { status: "OK"; value: T | undefined },
        >;
        getGlobalClaimValidators(
            input: {
                claimValidatorsAddedByOtherRecipes: SessionClaimValidator[];
                recipeUserId: RecipeUserId;
                tenantId: string;
                userContext: UserContext;
                userId: string;
            },
        ): SessionClaimValidator[]
        | Promise<SessionClaimValidator[]>;
        getSession(
            input: {
                accessToken: string | undefined;
                antiCsrfToken?: string;
                options?: VerifySessionOptions;
                userContext: UserContext;
            },
        ): Promise<undefined | SessionContainer>;
        getSessionInformation(
            input: { sessionHandle: string; userContext: UserContext },
        ): Promise<undefined | SessionInformation>;
        mergeIntoAccessTokenPayload(
            input: {
                accessTokenPayloadUpdate: JSONObject;
                sessionHandle: string;
                userContext: UserContext;
            },
        ): Promise<boolean>;
        refreshSession(
            input: {
                antiCsrfToken?: string;
                disableAntiCsrf: boolean;
                refreshToken: string;
                userContext: UserContext;
            },
        ): Promise<SessionContainer>;
        regenerateAccessToken(
            input: {
                accessToken: string;
                newAccessTokenPayload?: any;
                userContext: UserContext;
            },
        ): Promise<
            | undefined
            | {
                accessToken?: { createdTime: number; expiry: number; token: string };
                session: {
                    handle: string;
                    recipeUserId: RecipeUserId;
                    tenantId: string;
                    userDataInJWT: any;
                    userId: string;
                };
                status: "OK";
            },
        >;
        removeClaim(
            input: {
                claim: SessionClaim<any>;
                sessionHandle: string;
                userContext: UserContext;
            },
        ): Promise<boolean>;
        revokeAllSessionsForUser(
            input: {
                revokeAcrossAllTenants?: boolean;
                revokeSessionsForLinkedAccounts: boolean;
                tenantId: string;
                userContext: UserContext;
                userId: string;
            },
        ): Promise<string[]>;
        revokeMultipleSessions(
            input: { sessionHandles: string[]; userContext: UserContext },
        ): Promise<string[]>;
        revokeSession(
            input: { sessionHandle: string; userContext: UserContext },
        ): Promise<boolean>;
        setClaimValue<T>(
            input: {
                claim: SessionClaim<T>;
                sessionHandle: string;
                userContext: UserContext;
                value: T;
            },
        ): Promise<boolean>;
        updateSessionDataInDatabase(
            input: {
                newSessionData: any;
                sessionHandle: string;
                userContext: UserContext;
            },
        ): Promise<boolean>;
        validateClaims(
            input: {
                accessTokenPayload: any;
                claimValidators: SessionClaimValidator[];
                recipeUserId: RecipeUserId;
                userContext: UserContext;
                userId: string;
            },
        ): Promise<
            {
                accessTokenPayloadUpdate?: any;
                invalidClaims: ClaimValidationError[];
            },
        >;
    }
    Index

    Methods

    • Parameters

      • input: {
            accessTokenPayload?: any;
            disableAntiCsrf?: boolean;
            recipeUserId: RecipeUserId;
            sessionDataInDatabase?: any;
            tenantId: string;
            userContext: UserContext;
            userId: string;
        }

      Returns Promise<SessionContainer>

    • Parameters

      • input: { claim: SessionClaim<any>; sessionHandle: string; userContext: UserContext }

      Returns Promise<boolean>

    • Parameters

      • input: {
            fetchAcrossAllTenants?: boolean;
            fetchSessionsForAllLinkedAccounts: boolean;
            tenantId: string;
            userContext: UserContext;
            userId: string;
        }

      Returns Promise<string[]>

    • Type Parameters

      • T

      Parameters

      • input: { claim: SessionClaim<T>; sessionHandle: string; userContext: UserContext }

      Returns Promise<
          | { status: "SESSION_DOES_NOT_EXIST_ERROR" }
          | { status: "OK"; value: T | undefined },
      >

    • Used to retrieve all session information for a given session handle. Can be used in place of:

      • getSessionDataFromDatabase
      • getAccessTokenPayload

      Returns undefined if the sessionHandle does not exist

      Parameters

      • input: { sessionHandle: string; userContext: UserContext }

      Returns Promise<undefined | SessionInformation>

    • Parameters

      • input: {
            accessTokenPayloadUpdate: JSONObject;
            sessionHandle: string;
            userContext: UserContext;
        }

      Returns Promise<boolean>

    • Parameters

      • input: {
            antiCsrfToken?: string;
            disableAntiCsrf: boolean;
            refreshToken: string;
            userContext: UserContext;
        }

      Returns Promise<SessionContainer>

    • Parameters

      • input: { accessToken: string; newAccessTokenPayload?: any; userContext: UserContext }

      Returns Promise<
          | undefined
          | {
              accessToken?: { createdTime: number; expiry: number; token: string };
              session: {
                  handle: string;
                  recipeUserId: RecipeUserId;
                  tenantId: string;
                  userDataInJWT: any;
                  userId: string;
              };
              status: "OK";
          },
      >

      Returns false if the sessionHandle does not exist

    • Parameters

      • input: { claim: SessionClaim<any>; sessionHandle: string; userContext: UserContext }

      Returns Promise<boolean>

    • Parameters

      • input: {
            revokeAcrossAllTenants?: boolean;
            revokeSessionsForLinkedAccounts: boolean;
            tenantId: string;
            userContext: UserContext;
            userId: string;
        }

      Returns Promise<string[]>

    • Parameters

      • input: { sessionHandles: string[]; userContext: UserContext }

      Returns Promise<string[]>

    • Parameters

      • input: { sessionHandle: string; userContext: UserContext }

      Returns Promise<boolean>

    • Type Parameters

      • T

      Parameters

      • input: {
            claim: SessionClaim<T>;
            sessionHandle: string;
            userContext: UserContext;
            value: T;
        }

      Returns Promise<boolean>

    • Parameters

      • input: { newSessionData: any; sessionHandle: string; userContext: UserContext }

      Returns Promise<boolean>

    • Parameters

      • input: {
            accessTokenPayload: any;
            claimValidators: SessionClaimValidator[];
            recipeUserId: RecipeUserId;
            userContext: UserContext;
            userId: string;
        }

      Returns Promise<
          {
              accessTokenPayloadUpdate?: any;
              invalidClaims: ClaimValidationError[];
          },
      >