UNPKG

@sneko/ionic-appauth

Version:

Intergration for OpenId/AppAuth-JS into Ionic V3/4/5

35 lines (34 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IonicEndSessionHandler = void 0; var tslib_1 = require("tslib"); var appauth_1 = require("@openid/appauth"); var IonicEndSessionHandler = /** @class */ (function () { function IonicEndSessionHandler(browser, utils) { if (utils === void 0) { utils = new appauth_1.BasicQueryStringUtils(); } this.browser = browser; this.utils = utils; } IonicEndSessionHandler.prototype.performEndSessionRequest = function (configuration, request) { return tslib_1.__awaiter(this, void 0, void 0, function () { var url; return tslib_1.__generator(this, function (_a) { url = this.buildRequestUrl(configuration, request); return [2 /*return*/, this.browser.showWindow(url, request.postLogoutRedirectURI)]; }); }); }; IonicEndSessionHandler.prototype.buildRequestUrl = function (configuration, request) { var requestMap = { 'id_token_hint': request.idTokenHint, 'post_logout_redirect_uri': request.postLogoutRedirectURI, 'state': request.state, }; var query = this.utils.stringify(requestMap); var baseUrl = configuration.endSessionEndpoint; var url = baseUrl + "?" + query; return url; }; return IonicEndSessionHandler; }()); exports.IonicEndSessionHandler = IonicEndSessionHandler;