UNPKG

@arc-publishing/sdk-identity

Version:
51 lines 2.45 kB
import { __assign, __awaiter, __generator } from "tslib"; import { headers as defaultHeaders, PROFILE_STORAGE_KEY_EXPIRED_TIME } from './constants'; import Identity from './identity'; import { isUserIdentity } from './userIdentity'; import JSONResponseHandler from '../serviceHelpers/JSONResponseHandler'; export default function signInWithOIDC(code, state) { return __awaiter(this, void 0, void 0, function () { var headers, getParams; return __generator(this, function (_a) { switch (_a.label) { case 0: headers = __assign({}, defaultHeaders); if (!(Identity.userIdentity && Identity.userIdentity.accessToken && Identity.userIdentity.refreshToken)) return [3, 2]; return [4, Identity.heartbeat()]; case 1: _a.sent(); headers['Authorization'] = "Bearer ".concat(Identity.userIdentity.accessToken); _a.label = 2; case 2: getParams = function () { var params = { code: code }; if (state) { params = __assign(__assign({}, params), { state: state }); } return new URLSearchParams(params).toString(); }; return [2, fetch("".concat(Identity.apiOrigin, "/identity/public/v2/oidc/signin?").concat(getParams()), { method: 'GET', headers: __assign({}, headers) }) .then(JSONResponseHandler) .then(function (json) { localStorage.removeItem(PROFILE_STORAGE_KEY_EXPIRED_TIME); if (isUserIdentity(json)) { Identity.userIdentity = json; window.postMessage({ type: 'ARC_LOGIN_SUCCESS', grantType: 'OIDC' }, '*'); return Identity.userIdentity; } else { throw json; } })]; } }); }); } //# sourceMappingURL=signInWithOIDC.js.map