auth0-sso-login
Version:
A Library to simplify the auth0 sso login process
79 lines (65 loc) • 2.4 kB
JavaScript
;
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;