UNPKG

auth0-sso-login

Version:

A Library to simplify the auth0 sso login process

79 lines (65 loc) 2.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var redirectUriKey = 'cimpress.io.auth0-sso-login.redirectUri'; var RedirectHandler = /*#__PURE__*/function () { /** * @constructor create a redirect handler to store the redirect * @param {Object} logger */ function RedirectHandler(logger) { _classCallCheck(this, RedirectHandler); this.logger = logger; } /** * @description Save a redirect * @param redirectUri redirectUrl to save * @return {*|void} */ _createClass(RedirectHandler, [{ key: "setRedirect", value: function setRedirect(redirectUri) { try { this.logger.log({ title: 'Saving redirect in local storage', url: redirectUri }); localStorage.setItem(redirectUriKey, redirectUri); } catch (error) { this.logger.log({ title: 'Failed to set redirect in local storage', error: error }); } } /** * @description Navigate a redirect if one is stored, otherwise return * @return {*_void} */ }, { key: "attemptRedirect", value: function attemptRedirect() { try { var redirectUri = localStorage.getItem(redirectUriKey); localStorage.removeItem(redirectUriKey); if (redirectUri) { history.replaceState(null, null, redirectUri); return redirectUri; } } catch (error) { this.logger.log({ title: 'Failed to get redirect from local storage', error: error }); } return null; } }]); return RedirectHandler; }(); exports["default"] = RedirectHandler;