@sneko/ionic-appauth
Version:
Intergration for OpenId/AppAuth-JS into Ionic V3/4/5
35 lines (34 loc) • 1.47 kB
JavaScript
;
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;