UNPKG

@arc-publishing/sdk-identity

Version:
85 lines 3.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isLoggedIn = void 0; var tslib_1 = require("tslib"); var JSONResponseHandler_1 = tslib_1.__importDefault(require("../serviceHelpers/JSONResponseHandler")); var identity_1 = tslib_1.__importDefault(require("./identity")); var userIdentity_1 = require("./userIdentity"); var constants_1 = require("./constants"); var enforceRecaptcha_1 = tslib_1.__importStar(require("../utils/enforceRecaptcha")); var jwt_1 = require("../utils/jwt"); function login(userName, password, options) { if (options === void 0) { options = {}; } identity_1.default._isSession = !options.rememberMe; return (0, enforceRecaptcha_1.default)(enforceRecaptcha_1.RecaptchaMethod.SIGN_IN, options.recaptchaToken) .then(function () { return fetch("".concat(identity_1.default.apiOrigin, "/identity/public/v1/auth/login").concat(options.cookie ? '?cookie=true' : ''), { method: 'POST', headers: constants_1.headers, body: JSON.stringify({ userName: userName, credentials: password, grantType: 'password', rememberMe: options.rememberMe, recaptchaToken: options.recaptchaToken }) }); }) .then(JSONResponseHandler_1.default) .then(function (json) { if ((0, userIdentity_1.isUserIdentity)(json)) { identity_1.default.userIdentity = json; window.postMessage({ type: 'ARC_LOGIN_SUCCESS', grantType: 'password' }, '*'); return identity_1.default.userIdentity; } else { throw json; } }); } exports.default = login; var HttpError = (function (_super) { tslib_1.__extends(HttpError, _super); function HttpError(code, message) { var _this = _super.call(this, message) || this; _this.name = 'HttpError'; _this.code = code; return _this; } return HttpError; }(Error)); function isLoggedIn() { return tslib_1.__awaiter(this, void 0, void 0, function () { var e_1; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (!(!identity_1.default.userIdentity || !identity_1.default.userIdentity.accessToken || !identity_1.default.userIdentity.refreshToken)) return [3, 1]; return [2, false]; case 1: if (!((0, jwt_1.isJwtExpired)(identity_1.default.userIdentity.accessToken) || !(0, jwt_1.jwtHasExp)(identity_1.default.userIdentity.accessToken))) return [3, 6]; _a.label = 2; case 2: _a.trys.push([2, 4, , 5]); return [4, identity_1.default.extendSession()]; case 3: _a.sent(); return [2, true]; case 4: e_1 = _a.sent(); if (e_1 instanceof HttpError) { console.warn("".concat(constants_1.logPrefix, " code:\"").concat(e_1.code, "\", message:\"").concat(e_1.message, "\"")); } return [2, false]; case 5: return [3, 7]; case 6: return [2, true]; case 7: return [2]; } }); }); } exports.isLoggedIn = isLoggedIn; //# sourceMappingURL=login.js.map