angular-auth-oidc-client
Version:
An OpenID Connect Code Flow with PKCE,Implicit Flow client for Angular
119 lines • 9.18 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { map } from 'rxjs/operators';
import { OidcDataService } from '../data-services/oidc-data.service';
import { ConfigurationProvider } from './auth-configuration.provider';
import { LoggerService } from './oidc.logger.service';
import { OidcSecurityCommon } from './oidc.security.common';
var OidcSecurityUserService = /** @class */ (function () {
function OidcSecurityUserService(oidcDataService, oidcSecurityCommon, loggerService, configurationProvider) {
this.oidcDataService = oidcDataService;
this.oidcSecurityCommon = oidcSecurityCommon;
this.loggerService = loggerService;
this.configurationProvider = configurationProvider;
this.userData = '';
}
/**
* @return {?}
*/
OidcSecurityUserService.prototype.initUserData = /**
* @return {?}
*/
function () {
var _this = this;
return this.getIdentityUserData().pipe(map((/**
* @param {?} data
* @return {?}
*/
function (data) { return (_this.userData = data); })));
};
/**
* @return {?}
*/
OidcSecurityUserService.prototype.getUserData = /**
* @return {?}
*/
function () {
if (!this.userData) {
throw Error('UserData is not set!');
}
return this.userData;
};
/**
* @param {?} value
* @return {?}
*/
OidcSecurityUserService.prototype.setUserData = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.userData = value;
};
/**
* @private
* @return {?}
*/
OidcSecurityUserService.prototype.getIdentityUserData = /**
* @private
* @return {?}
*/
function () {
/** @type {?} */
var token = this.oidcSecurityCommon.getAccessToken();
if (!this.configurationProvider.wellKnownEndpoints) {
this.loggerService.logWarning('init check session: authWellKnownEndpoints is undefined');
throw Error('authWellKnownEndpoints is undefined');
}
/** @type {?} */
var canGetUserData = this.configurationProvider.wellKnownEndpoints && this.configurationProvider.wellKnownEndpoints.userinfo_endpoint;
if (!canGetUserData) {
this.loggerService.logError('init check session: authWellKnownEndpoints.userinfo_endpoint is undefined; set auto_userinfo = false in config');
throw Error('authWellKnownEndpoints.userinfo_endpoint is undefined');
}
return this.oidcDataService.getIdentityUserData(this.configurationProvider.wellKnownEndpoints.userinfo_endpoint || '', token);
};
OidcSecurityUserService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
OidcSecurityUserService.ctorParameters = function () { return [
{ type: OidcDataService },
{ type: OidcSecurityCommon },
{ type: LoggerService },
{ type: ConfigurationProvider }
]; };
return OidcSecurityUserService;
}());
export { OidcSecurityUserService };
if (false) {
/**
* @type {?}
* @private
*/
OidcSecurityUserService.prototype.userData;
/**
* @type {?}
* @private
*/
OidcSecurityUserService.prototype.oidcDataService;
/**
* @type {?}
* @private
*/
OidcSecurityUserService.prototype.oidcSecurityCommon;
/**
* @type {?}
* @private
*/
OidcSecurityUserService.prototype.loggerService;
/**
* @type {?}
* @private
*/
OidcSecurityUserService.prototype.configurationProvider;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQ7SUFJSSxpQ0FDWSxlQUFnQyxFQUNoQyxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDbkIscUJBQTRDO1FBSHJELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ25CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFOekQsYUFBUSxHQUFRLEVBQUUsQ0FBQztJQU94QixDQUFDOzs7O0lBRUosOENBQVk7OztJQUFaO1FBQUEsaUJBRUM7UUFERyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQyxJQUFTLElBQUssT0FBQSxDQUFDLEtBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQXRCLENBQXNCLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7Ozs7SUFFRCw2Q0FBVzs7O0lBQVg7UUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixNQUFNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBRUQsNkNBQVc7Ozs7SUFBWCxVQUFZLEtBQVU7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7Ozs7SUFFTyxxREFBbUI7Ozs7SUFBM0I7O1lBQ1UsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUU7UUFFdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1lBRXpGLE1BQU0sS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDdEQ7O1lBRUssY0FBYyxHQUNoQixJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLGlCQUFpQjtRQUVwSCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUN2QixnSEFBZ0gsQ0FDbkgsQ0FBQztZQUNGLE1BQU0sS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7U0FDeEU7UUFFRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsSSxDQUFDOztnQkEvQ0osVUFBVTs7OztnQkFMRixlQUFlO2dCQUdmLGtCQUFrQjtnQkFEbEIsYUFBYTtnQkFEYixxQkFBcUI7O0lBb0Q5Qiw4QkFBQztDQUFBLEFBaERELElBZ0RDO1NBL0NZLHVCQUF1Qjs7Ozs7O0lBQ2hDLDJDQUEyQjs7Ozs7SUFHdkIsa0RBQXdDOzs7OztJQUN4QyxxREFBOEM7Ozs7O0lBQzlDLGdEQUFvQzs7Ozs7SUFDcEMsd0RBQTZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2lkY0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUHJvdmlkZXIgfSBmcm9tICcuL2F1dGgtY29uZmlndXJhdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNvbW1vbiB9IGZyb20gJy4vb2lkYy5zZWN1cml0eS5jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT2lkY1NlY3VyaXR5VXNlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgdXNlckRhdGE6IGFueSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgb2lkY0RhdGFTZXJ2aWNlOiBPaWRjRGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgb2lkY1NlY3VyaXR5Q29tbW9uOiBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgIHByaXZhdGUgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uUHJvdmlkZXI6IENvbmZpZ3VyYXRpb25Qcm92aWRlclxuICAgICkge31cblxuICAgIGluaXRVc2VyRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SWRlbnRpdHlVc2VyRGF0YSgpLnBpcGUobWFwKChkYXRhOiBhbnkpID0+ICh0aGlzLnVzZXJEYXRhID0gZGF0YSkpKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyRGF0YSgpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMudXNlckRhdGEpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdVc2VyRGF0YSBpcyBub3Qgc2V0IScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlckRhdGE7XG4gICAgfVxuXG4gICAgc2V0VXNlckRhdGEodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJEYXRhID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJZGVudGl0eVVzZXJEYXRhKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLndlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2luaXQgY2hlY2sgc2Vzc2lvbjogYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQnKTtcblxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYW5HZXRVc2VyRGF0YSA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMgJiYgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIud2VsbEtub3duRW5kcG9pbnRzLnVzZXJpbmZvX2VuZHBvaW50O1xuXG4gICAgICAgIGlmICghY2FuR2V0VXNlckRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dFcnJvcihcbiAgICAgICAgICAgICAgICAnaW5pdCBjaGVjayBzZXNzaW9uOiBhdXRoV2VsbEtub3duRW5kcG9pbnRzLnVzZXJpbmZvX2VuZHBvaW50IGlzIHVuZGVmaW5lZDsgc2V0IGF1dG9fdXNlcmluZm8gPSBmYWxzZSBpbiBjb25maWcnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vaWRjRGF0YVNlcnZpY2UuZ2V0SWRlbnRpdHlVc2VyRGF0YSh0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQgfHwgJycsIHRva2VuKTtcbiAgICB9XG59XG4iXX0=