@arc-publishing/sdk-identity
Version:
JS Identity SDK for working with Identity API
85 lines • 3.54 kB
JavaScript
;
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