angular-auth-oidc-client
Version:
An OpenID Connect Code Flow with PKCE,Implicit Flow client for Angular
75 lines • 5.13 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { LoggerService } from './oidc.logger.service';
export class IFrameService {
/**
* @param {?} loggerService
*/
constructor(loggerService) {
this.loggerService = loggerService;
}
/**
* @param {?} identifier
* @return {?}
*/
getExistingIFrame(identifier) {
/** @type {?} */
const iFrameOnParent = this.getIFrameFromParentWindow(identifier);
if (iFrameOnParent) {
return iFrameOnParent;
}
return this.getIFrameFromWindow(identifier);
}
/**
* @param {?} identifier
* @return {?}
*/
addIFrameToWindowBody(identifier) {
/** @type {?} */
const sessionIframe = window.document.createElement('iframe');
sessionIframe.id = identifier;
this.loggerService.logDebug(sessionIframe);
sessionIframe.style.display = 'none';
window.document.body.appendChild(sessionIframe);
return sessionIframe;
}
/**
* @private
* @param {?} identifier
* @return {?}
*/
getIFrameFromParentWindow(identifier) {
try {
return window.parent.document.getElementById(identifier);
}
catch (e) {
return null;
}
}
/**
* @private
* @param {?} identifier
* @return {?}
*/
getIFrameFromWindow(identifier) {
return window.document.getElementById(identifier);
}
}
IFrameService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
IFrameService.ctorParameters = () => [
{ type: LoggerService }
];
if (false) {
/**
* @type {?}
* @private
*/
IFrameService.prototype.loggerService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3RpbmctaWZyYW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZXhpc3RpbmctaWZyYW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3RELE1BQU0sT0FBTyxhQUFhOzs7O0lBQ3RCLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQzs7Ozs7SUFFcEQsaUJBQWlCLENBQUMsVUFBa0I7O2NBQzFCLGNBQWMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUFDO1FBRWpFLElBQUksY0FBYyxFQUFFO1lBQ2hCLE9BQU8sY0FBYyxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7Ozs7SUFFRCxxQkFBcUIsQ0FBQyxVQUFrQjs7Y0FDOUIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUM3RCxhQUFhLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7Ozs7OztJQUVPLHlCQUF5QixDQUFDLFVBQWtCO1FBQ2hELElBQUk7WUFDQSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM1RDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7Ozs7OztJQUVPLG1CQUFtQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7O1lBakNKLFVBQVU7Ozs7WUFGRixhQUFhOzs7Ozs7O0lBSU4sc0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vb2lkYy5sb2dnZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJRnJhbWVTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UpIHt9XG5cbiAgICBnZXRFeGlzdGluZ0lGcmFtZShpZGVudGlmaWVyOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgaUZyYW1lT25QYXJlbnQgPSB0aGlzLmdldElGcmFtZUZyb21QYXJlbnRXaW5kb3coaWRlbnRpZmllcik7XG5cbiAgICAgICAgaWYgKGlGcmFtZU9uUGFyZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gaUZyYW1lT25QYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRJRnJhbWVGcm9tV2luZG93KGlkZW50aWZpZXIpO1xuICAgIH1cblxuICAgIGFkZElGcmFtZVRvV2luZG93Qm9keShpZGVudGlmaWVyOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc2Vzc2lvbklmcmFtZSA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICAgICAgc2Vzc2lvbklmcmFtZS5pZCA9IGlkZW50aWZpZXI7XG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZyhzZXNzaW9uSWZyYW1lKTtcbiAgICAgICAgc2Vzc2lvbklmcmFtZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB3aW5kb3cuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZXNzaW9uSWZyYW1lKTtcbiAgICAgICAgcmV0dXJuIHNlc3Npb25JZnJhbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJRnJhbWVGcm9tUGFyZW50V2luZG93KGlkZW50aWZpZXI6IHN0cmluZykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5wYXJlbnQuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWRlbnRpZmllcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJRnJhbWVGcm9tV2luZG93KGlkZW50aWZpZXI6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gd2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkZW50aWZpZXIpO1xuICAgIH1cbn1cbiJdfQ==