UNPKG

angular-auth-oidc-client

Version:

An OpenID Connect Code Flow with PKCE,Implicit Flow client for Angular

160 lines 13.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import { PlatformProvider } from './platform.provider'; import * as i0 from "@angular/core"; import * as i1 from "./platform.provider"; var ConfigurationProvider = /** @class */ (function () { function ConfigurationProvider(platformProvider) { this.platformProvider = platformProvider; this.DEFAULT_CONFIG = { stsServer: 'https://please_set', redirect_url: 'https://please_set', client_id: 'please_set', response_type: 'code', scope: 'openid email profile', hd_param: '', post_logout_redirect_uri: 'https://please_set', start_checksession: false, silent_renew: false, silent_renew_url: 'https://please_set', silent_renew_offset_in_seconds: 0, post_login_route: '/', forbidden_route: '/forbidden', unauthorized_route: '/unauthorized', auto_userinfo: true, auto_clean_state_after_authentication: true, trigger_authorization_result_event: false, log_console_warning_active: true, log_console_debug_active: false, iss_validation_off: false, history_cleanup_off: false, max_id_token_iat_offset_allowed_in_seconds: 3, disable_iat_offset_validation: false, storage: typeof Storage !== 'undefined' ? sessionStorage : null, }; this.INITIAL_AUTHWELLKNOWN = { issuer: '', jwks_uri: '', authorization_endpoint: '', token_endpoint: '', userinfo_endpoint: '', end_session_endpoint: '', check_session_iframe: '', revocation_endpoint: '', introspection_endpoint: '', }; this.mergedOpenIdConfiguration = this.DEFAULT_CONFIG; this.authWellKnownEndpoints = this.INITIAL_AUTHWELLKNOWN; this.onConfigurationChangeInternal = new Subject(); } Object.defineProperty(ConfigurationProvider.prototype, "openIDConfiguration", { get: /** * @return {?} */ function () { return this.mergedOpenIdConfiguration; }, enumerable: true, configurable: true }); Object.defineProperty(ConfigurationProvider.prototype, "wellKnownEndpoints", { get: /** * @return {?} */ function () { return this.authWellKnownEndpoints; }, enumerable: true, configurable: true }); Object.defineProperty(ConfigurationProvider.prototype, "onConfigurationChange", { get: /** * @return {?} */ function () { return this.onConfigurationChangeInternal.asObservable(); }, enumerable: true, configurable: true }); /** * @param {?} passedOpenIfConfiguration * @param {?} passedAuthWellKnownEndpoints * @return {?} */ ConfigurationProvider.prototype.setup = /** * @param {?} passedOpenIfConfiguration * @param {?} passedAuthWellKnownEndpoints * @return {?} */ function (passedOpenIfConfiguration, passedAuthWellKnownEndpoints) { this.mergedOpenIdConfiguration = tslib_1.__assign({}, this.mergedOpenIdConfiguration, passedOpenIfConfiguration); this.setSpecialCases(this.mergedOpenIdConfiguration); this.authWellKnownEndpoints = tslib_1.__assign({}, passedAuthWellKnownEndpoints); this.onConfigurationChangeInternal.next(tslib_1.__assign({}, this.mergedOpenIdConfiguration)); }; /** * @private * @param {?} currentConfig * @return {?} */ ConfigurationProvider.prototype.setSpecialCases = /** * @private * @param {?} currentConfig * @return {?} */ function (currentConfig) { if (!this.platformProvider.isBrowser) { currentConfig.start_checksession = false; currentConfig.silent_renew = false; } }; ConfigurationProvider.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ ConfigurationProvider.ctorParameters = function () { return [ { type: PlatformProvider } ]; }; /** @nocollapse */ ConfigurationProvider.ngInjectableDef = i0.defineInjectable({ factory: function ConfigurationProvider_Factory() { return new ConfigurationProvider(i0.inject(i1.PlatformProvider)); }, token: ConfigurationProvider, providedIn: "root" }); return ConfigurationProvider; }()); export { ConfigurationProvider }; if (false) { /** * @type {?} * @private */ ConfigurationProvider.prototype.DEFAULT_CONFIG; /** * @type {?} * @private */ ConfigurationProvider.prototype.INITIAL_AUTHWELLKNOWN; /** * @type {?} * @private */ ConfigurationProvider.prototype.mergedOpenIdConfiguration; /** * @type {?} * @private */ ConfigurationProvider.prototype.authWellKnownEndpoints; /** * @type {?} * @private */ ConfigurationProvider.prototype.onConfigurationChangeInternal; /** * @type {?} * @private */ ConfigurationProvider.prototype.platformProvider; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jb25maWd1cmF0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2F1dGgtY29uZmlndXJhdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRXZEO0lBMERJLCtCQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXhEOUMsbUJBQWMsR0FBZ0M7WUFDbEQsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixZQUFZLEVBQUUsb0JBQW9CO1lBQ2xDLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLGFBQWEsRUFBRSxNQUFNO1lBQ3JCLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsUUFBUSxFQUFFLEVBQUU7WUFDWix3QkFBd0IsRUFBRSxvQkFBb0I7WUFDOUMsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixZQUFZLEVBQUUsS0FBSztZQUNuQixnQkFBZ0IsRUFBRSxvQkFBb0I7WUFDdEMsOEJBQThCLEVBQUUsQ0FBQztZQUNqQyxnQkFBZ0IsRUFBRSxHQUFHO1lBQ3JCLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGtCQUFrQixFQUFFLGVBQWU7WUFDbkMsYUFBYSxFQUFFLElBQUk7WUFDbkIscUNBQXFDLEVBQUUsSUFBSTtZQUMzQyxrQ0FBa0MsRUFBRSxLQUFLO1lBQ3pDLDBCQUEwQixFQUFFLElBQUk7WUFDaEMsd0JBQXdCLEVBQUUsS0FBSztZQUMvQixrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsMENBQTBDLEVBQUUsQ0FBQztZQUM3Qyw2QkFBNkIsRUFBRSxLQUFLO1lBQ3BDLE9BQU8sRUFBRSxPQUFPLE9BQU8sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNsRSxDQUFDO1FBRU0sMEJBQXFCLEdBQTJCO1lBQ3BELE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLEVBQUU7WUFDWixzQkFBc0IsRUFBRSxFQUFFO1lBQzFCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsb0JBQW9CLEVBQUUsRUFBRTtZQUN4QixvQkFBb0IsRUFBRSxFQUFFO1lBQ3hCLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsc0JBQXNCLEVBQUUsRUFBRTtTQUM3QixDQUFDO1FBRU0sOEJBQXlCLEdBQWdDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDN0UsMkJBQXNCLEdBQTJCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUU1RSxrQ0FBNkIsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztJQWNsQixDQUFDO0lBWjFELHNCQUFJLHNEQUFtQjs7OztRQUF2QjtZQUNJLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDO1FBQzFDLENBQUM7OztPQUFBO0lBRUQsc0JBQUkscURBQWtCOzs7O1FBQXRCO1lBQ0ksT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7UUFDdkMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSx3REFBcUI7Ozs7UUFBekI7WUFDSSxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3RCxDQUFDOzs7T0FBQTs7Ozs7O0lBSUQscUNBQUs7Ozs7O0lBQUwsVUFBTSx5QkFBOEMsRUFBRSw0QkFBb0Q7UUFDdEcsSUFBSSxDQUFDLHlCQUF5Qix3QkFBUSxJQUFJLENBQUMseUJBQXlCLEVBQUsseUJBQXlCLENBQUUsQ0FBQztRQUNyRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxzQkFBc0Isd0JBQVEsNEJBQTRCLENBQUUsQ0FBQztRQUNsRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxzQkFBTSxJQUFJLENBQUMseUJBQXlCLEVBQUcsQ0FBQztJQUNuRixDQUFDOzs7Ozs7SUFFTywrQ0FBZTs7Ozs7SUFBdkIsVUFBd0IsYUFBa0M7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUU7WUFDbEMsYUFBYSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztZQUN6QyxhQUFhLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUN0QztJQUNMLENBQUM7O2dCQXhFSixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O2dCQUZ6QixnQkFBZ0I7OztnQ0FKekI7Q0ErRUMsQUF6RUQsSUF5RUM7U0F4RVkscUJBQXFCOzs7Ozs7SUFDOUIsK0NBeUJFOzs7OztJQUVGLHNEQVVFOzs7OztJQUVGLDBEQUFxRjs7Ozs7SUFDckYsdURBQW9GOzs7OztJQUVwRiw4REFBMkU7Ozs7O0lBYy9ELGlEQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wZW5JZENvbmZpZ3VyYXRpb24sIE9wZW5JZEludGVybmFsQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9hdXRoLmNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgQXV0aFdlbGxLbm93bkVuZHBvaW50cyB9IGZyb20gJy4uL21vZGVscy9hdXRoLndlbGwta25vd24tZW5kcG9pbnRzJztcbmltcG9ydCB7IFBsYXRmb3JtUHJvdmlkZXIgfSBmcm9tICcuL3BsYXRmb3JtLnByb3ZpZGVyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uUHJvdmlkZXIge1xuICAgIHByaXZhdGUgREVGQVVMVF9DT05GSUc6IE9wZW5JZEludGVybmFsQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgc3RzU2VydmVyOiAnaHR0cHM6Ly9wbGVhc2Vfc2V0JyxcbiAgICAgICAgcmVkaXJlY3RfdXJsOiAnaHR0cHM6Ly9wbGVhc2Vfc2V0JyxcbiAgICAgICAgY2xpZW50X2lkOiAncGxlYXNlX3NldCcsXG4gICAgICAgIHJlc3BvbnNlX3R5cGU6ICdjb2RlJyxcbiAgICAgICAgc2NvcGU6ICdvcGVuaWQgZW1haWwgcHJvZmlsZScsXG4gICAgICAgIGhkX3BhcmFtOiAnJyxcbiAgICAgICAgcG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpOiAnaHR0cHM6Ly9wbGVhc2Vfc2V0JyxcbiAgICAgICAgc3RhcnRfY2hlY2tzZXNzaW9uOiBmYWxzZSxcbiAgICAgICAgc2lsZW50X3JlbmV3OiBmYWxzZSxcbiAgICAgICAgc2lsZW50X3JlbmV3X3VybDogJ2h0dHBzOi8vcGxlYXNlX3NldCcsXG4gICAgICAgIHNpbGVudF9yZW5ld19vZmZzZXRfaW5fc2Vjb25kczogMCxcbiAgICAgICAgcG9zdF9sb2dpbl9yb3V0ZTogJy8nLFxuICAgICAgICBmb3JiaWRkZW5fcm91dGU6ICcvZm9yYmlkZGVuJyxcbiAgICAgICAgdW5hdXRob3JpemVkX3JvdXRlOiAnL3VuYXV0aG9yaXplZCcsXG4gICAgICAgIGF1dG9fdXNlcmluZm86IHRydWUsXG4gICAgICAgIGF1dG9fY2xlYW5fc3RhdGVfYWZ0ZXJfYXV0aGVudGljYXRpb246IHRydWUsXG4gICAgICAgIHRyaWdnZXJfYXV0aG9yaXphdGlvbl9yZXN1bHRfZXZlbnQ6IGZhbHNlLFxuICAgICAgICBsb2dfY29uc29sZV93YXJuaW5nX2FjdGl2ZTogdHJ1ZSxcbiAgICAgICAgbG9nX2NvbnNvbGVfZGVidWdfYWN0aXZlOiBmYWxzZSxcbiAgICAgICAgaXNzX3ZhbGlkYXRpb25fb2ZmOiBmYWxzZSxcbiAgICAgICAgaGlzdG9yeV9jbGVhbnVwX29mZjogZmFsc2UsXG4gICAgICAgIG1heF9pZF90b2tlbl9pYXRfb2Zmc2V0X2FsbG93ZWRfaW5fc2Vjb25kczogMyxcbiAgICAgICAgZGlzYWJsZV9pYXRfb2Zmc2V0X3ZhbGlkYXRpb246IGZhbHNlLFxuICAgICAgICBzdG9yYWdlOiB0eXBlb2YgU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCcgPyBzZXNzaW9uU3RvcmFnZSA6IG51bGwsXG4gICAgfTtcblxuICAgIHByaXZhdGUgSU5JVElBTF9BVVRIV0VMTEtOT1dOOiBBdXRoV2VsbEtub3duRW5kcG9pbnRzID0ge1xuICAgICAgICBpc3N1ZXI6ICcnLFxuICAgICAgICBqd2tzX3VyaTogJycsXG4gICAgICAgIGF1dGhvcml6YXRpb25fZW5kcG9pbnQ6ICcnLFxuICAgICAgICB0b2tlbl9lbmRwb2ludDogJycsXG4gICAgICAgIHVzZXJpbmZvX2VuZHBvaW50OiAnJyxcbiAgICAgICAgZW5kX3Nlc3Npb25fZW5kcG9pbnQ6ICcnLFxuICAgICAgICBjaGVja19zZXNzaW9uX2lmcmFtZTogJycsXG4gICAgICAgIHJldm9jYXRpb25fZW5kcG9pbnQ6ICcnLFxuICAgICAgICBpbnRyb3NwZWN0aW9uX2VuZHBvaW50OiAnJyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBtZXJnZWRPcGVuSWRDb25maWd1cmF0aW9uOiBPcGVuSWRJbnRlcm5hbENvbmZpZ3VyYXRpb24gPSB0aGlzLkRFRkFVTFRfQ09ORklHO1xuICAgIHByaXZhdGUgYXV0aFdlbGxLbm93bkVuZHBvaW50czogQXV0aFdlbGxLbm93bkVuZHBvaW50cyA9IHRoaXMuSU5JVElBTF9BVVRIV0VMTEtOT1dOO1xuXG4gICAgcHJpdmF0ZSBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VJbnRlcm5hbCA9IG5ldyBTdWJqZWN0PE9wZW5JZENvbmZpZ3VyYXRpb24+KCk7XG5cbiAgICBnZXQgb3BlbklEQ29uZmlndXJhdGlvbigpOiBPcGVuSWRJbnRlcm5hbENvbmZpZ3VyYXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXJnZWRPcGVuSWRDb25maWd1cmF0aW9uO1xuICAgIH1cblxuICAgIGdldCB3ZWxsS25vd25FbmRwb2ludHMoKTogQXV0aFdlbGxLbm93bkVuZHBvaW50cyB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhXZWxsS25vd25FbmRwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0IG9uQ29uZmlndXJhdGlvbkNoYW5nZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlSW50ZXJuYWwuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwbGF0Zm9ybVByb3ZpZGVyOiBQbGF0Zm9ybVByb3ZpZGVyKSB7fVxuXG4gICAgc2V0dXAocGFzc2VkT3BlbklmQ29uZmlndXJhdGlvbjogT3BlbklkQ29uZmlndXJhdGlvbiwgcGFzc2VkQXV0aFdlbGxLbm93bkVuZHBvaW50czogQXV0aFdlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICB0aGlzLm1lcmdlZE9wZW5JZENvbmZpZ3VyYXRpb24gPSB7IC4uLnRoaXMubWVyZ2VkT3BlbklkQ29uZmlndXJhdGlvbiwgLi4ucGFzc2VkT3BlbklmQ29uZmlndXJhdGlvbiB9O1xuICAgICAgICB0aGlzLnNldFNwZWNpYWxDYXNlcyh0aGlzLm1lcmdlZE9wZW5JZENvbmZpZ3VyYXRpb24pO1xuICAgICAgICB0aGlzLmF1dGhXZWxsS25vd25FbmRwb2ludHMgPSB7IC4uLnBhc3NlZEF1dGhXZWxsS25vd25FbmRwb2ludHMgfTtcbiAgICAgICAgdGhpcy5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VJbnRlcm5hbC5uZXh0KHsgLi4udGhpcy5tZXJnZWRPcGVuSWRDb25maWd1cmF0aW9uIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3BlY2lhbENhc2VzKGN1cnJlbnRDb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBsYXRmb3JtUHJvdmlkZXIuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICBjdXJyZW50Q29uZmlnLnN0YXJ0X2NoZWNrc2Vzc2lvbiA9IGZhbHNlO1xuICAgICAgICAgICAgY3VycmVudENvbmZpZy5zaWxlbnRfcmVuZXcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==