UNPKG

supertokens-web-js

Version:
110 lines (109 loc) 4.91 kB
"use strict"; /* Copyright (c) 2024, VRAI Labs and/or its affiliates. All rights reserved. * * This software is licensed under the Apache License, Version 2.0 (the * "License") as published by the Apache Software Foundation. * * You may not use this file except in compliance with the License. You may * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. */ var __assign = (this && this.__assign) || function () { __assign = Object.assign || function (t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logOut = exports.getRedirectURLToContinueOAuthFlow = exports.getLoginChallengeInfo = exports.init = void 0; var utils_1 = require("../../utils"); var recipe_1 = require("./recipe"); var RecipeWrapper = /** @class */ (function () { function RecipeWrapper() {} RecipeWrapper.init = function (config) { return recipe_1.default.init(config); }; /** * Returns information about an OAuth login in progress * * @param loginChallenge The login challenge from the url * * @param userContext (OPTIONAL) Refer to {@link https://supertokens.com/docs/emailpassword/advanced-customizations/user-context the documentation} * * @param options (OPTIONAL) Use this to configure additional properties (for example pre api hooks) * * @returns `{status: "OK", info: LoginInfo}` * * @throws STGeneralError if the API exposed by the backend SDKs returns `status: "GENERAL_ERROR"` */ RecipeWrapper.getLoginChallengeInfo = function (input) { return recipe_1.default .getInstanceOrThrow() .recipeImplementation.getLoginChallengeInfo( __assign(__assign({}, input), { userContext: (0, utils_1.getNormalisedUserContext)(input.userContext) }) ); }; /** * Accepts the OAuth2 Login request and returns the redirect URL to continue the OAuth flow. * * @param loginChallenge The login challenge from the url * * @param userContext (OPTIONAL) Refer to {@link https://supertokens.com/docs/emailpassword/advanced-customizations/user-context the documentation} * * @param options (OPTIONAL) Use this to configure additional properties (for example pre api hooks) * * @returns `{status: "OK", frontendRedirectTo: string}` * * @throws STGeneralError if the API exposed by the backend SDKs returns `status: "GENERAL_ERROR"` */ RecipeWrapper.getRedirectURLToContinueOAuthFlow = function (input) { return recipe_1.default .getInstanceOrThrow() .recipeImplementation.getRedirectURLToContinueOAuthFlow( __assign(__assign({}, input), { userContext: (0, utils_1.getNormalisedUserContext)(input.userContext) }) ); }; /** * Accepts the OAuth2 Logout request, clears the SuperTokens session and returns post logout redirect URL. * * @param logoutChallenge The logout challenge from the url * * @param userContext (OPTIONAL) Refer to {@link https://supertokens.com/docs/emailpassword/advanced-customizations/user-context the documentation} * * @param options (OPTIONAL) Use this to configure additional properties (for example pre api hooks) * * @returns `{status: "OK", frontendRedirectTo: string}` * * @throws STGeneralError if the API exposed by the backend SDKs returns `status: "GENERAL_ERROR"` */ RecipeWrapper.logOut = function (input) { return recipe_1.default .getInstanceOrThrow() .recipeImplementation.logOut( __assign(__assign({}, input), { userContext: (0, utils_1.getNormalisedUserContext)(input.userContext) }) ); }; return RecipeWrapper; })(); exports.default = RecipeWrapper; var init = RecipeWrapper.init; exports.init = init; var getLoginChallengeInfo = RecipeWrapper.getLoginChallengeInfo; exports.getLoginChallengeInfo = getLoginChallengeInfo; var getRedirectURLToContinueOAuthFlow = RecipeWrapper.getRedirectURLToContinueOAuthFlow; exports.getRedirectURLToContinueOAuthFlow = getRedirectURLToContinueOAuthFlow; var logOut = RecipeWrapper.logOut; exports.logOut = logOut;