Socket
Socket
Sign inDemoInstall

angular-auth-oidc-client

Package Overview
Dependencies
10
Maintainers
3
Versions
177
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.1 to 1.2.2

4

bundles/angular-auth-oidc-client.umd.min.js

@@ -1,3 +0,3 @@

!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/core"),require("@angular/common"),require("@angular/http"),require("rxjs/add/operator/map"),require("rxjs/add/operator/catch"),require("rxjs/Rx"),require("@angular/router"),require("jsrsasign"),require("rxjs/Observable"),require("rxjs/add/observable/throw"),require("rxjs/add/observable/interval"),require("rxjs/add/observable/timer")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/common","@angular/http","rxjs/add/operator/map","rxjs/add/operator/catch","rxjs/Rx","@angular/router","jsrsasign","rxjs/Observable","rxjs/add/observable/throw","rxjs/add/observable/interval","rxjs/add/observable/timer"],factory):factory((global.ng=global.ng||{},global.ng.angularAuthOidcClient=global.ng.angularAuthOidcClient||{}),global.ng.core,global.ng.common,global.ng.http,global.Rx,global.Rx,global.Rx,global.ng.router,global.jsrsasign,global.Rx)}(this,function(exports,_angular_core,_angular_common,_angular_http,rxjs_add_operator_map,rxjs_add_operator_catch,rxjs_Rx,_angular_router,jsrsasign,rxjs_Observable){"use strict";var DefaultConfiguration=function(){function DefaultConfiguration(){this.stsServer="https://localhost:44318",this.redirect_url="https://localhost:44311",this.client_id="angularclient",this.response_type="id_token token",this.resource="",this.scope="openid email profile",this.post_logout_redirect_uri="https://localhost:44311/unauthorized",this.start_checksession=!1,this.silent_renew=!0,this.startup_route="/dataeventrecords",this.forbidden_route="/forbidden",this.unauthorized_route="/unauthorized",this.log_console_warning_active=!0,this.log_console_debug_active=!1,this.max_id_token_iat_offset_allowed_in_seconds=3,this.override_well_known_configuration=!1,this.override_well_known_configuration_url="https://localhost:44386/wellknownconfiguration.json",this.storage="undefined"!=typeof Storage?sessionStorage:null}return DefaultConfiguration}(),OpenIDImplicitFlowConfiguration=function(){function OpenIDImplicitFlowConfiguration(){}return OpenIDImplicitFlowConfiguration}(),AuthConfiguration=function(){function AuthConfiguration(defaultConfig){this.defaultConfig=defaultConfig}return Object.defineProperty(AuthConfiguration.prototype,"stsServer",{get:function(){return this.openIDImplicitFlowConfiguration.stsServer||this.defaultConfig.stsServer},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"redirect_url",{get:function(){return this.openIDImplicitFlowConfiguration.redirect_url||this.defaultConfig.redirect_url},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"client_id",{get:function(){return this.openIDImplicitFlowConfiguration.client_id||this.defaultConfig.client_id},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"response_type",{get:function(){return this.openIDImplicitFlowConfiguration.response_type||this.defaultConfig.response_type},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"resource",{get:function(){return this.openIDImplicitFlowConfiguration.resource||this.defaultConfig.resource},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"scope",{get:function(){return this.openIDImplicitFlowConfiguration.scope||this.defaultConfig.scope},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"post_logout_redirect_uri",{get:function(){return this.openIDImplicitFlowConfiguration.post_logout_redirect_uri||this.defaultConfig.post_logout_redirect_uri},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"start_checksession",{get:function(){return this.openIDImplicitFlowConfiguration.start_checksession||this.defaultConfig.start_checksession},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"silent_renew",{get:function(){return this.openIDImplicitFlowConfiguration.silent_renew||this.defaultConfig.silent_renew},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"startup_route",{get:function(){return this.openIDImplicitFlowConfiguration.startup_route||this.defaultConfig.startup_route},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"forbidden_route",{get:function(){return this.openIDImplicitFlowConfiguration.forbidden_route||this.defaultConfig.forbidden_route},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"unauthorized_route",{get:function(){return this.openIDImplicitFlowConfiguration.unauthorized_route||this.defaultConfig.unauthorized_route},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"log_console_warning_active",{get:function(){return this.openIDImplicitFlowConfiguration.log_console_warning_active||this.defaultConfig.log_console_warning_active},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"log_console_debug_active",{get:function(){return this.openIDImplicitFlowConfiguration.log_console_debug_active||this.defaultConfig.log_console_debug_active},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"max_id_token_iat_offset_allowed_in_seconds",{get:function(){return this.openIDImplicitFlowConfiguration.max_id_token_iat_offset_allowed_in_seconds||this.defaultConfig.max_id_token_iat_offset_allowed_in_seconds},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"override_well_known_configuration",{get:function(){return this.openIDImplicitFlowConfiguration.override_well_known_configuration||this.defaultConfig.override_well_known_configuration},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"override_well_known_configuration_url",{get:function(){return this.openIDImplicitFlowConfiguration.override_well_known_configuration_url||this.defaultConfig.override_well_known_configuration_url},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"storage",{get:function(){return this.openIDImplicitFlowConfiguration.storage||this.defaultConfig.storage},enumerable:!0,configurable:!0}),AuthConfiguration.prototype.init=function(openIDImplicitFlowConfiguration){this.openIDImplicitFlowConfiguration=openIDImplicitFlowConfiguration},AuthConfiguration}();AuthConfiguration.decorators=[{type:_angular_core.Injectable}],AuthConfiguration.ctorParameters=function(){return[{type:DefaultConfiguration}]};var OidcSecurityStorage=function(){function OidcSecurityStorage(){}return OidcSecurityStorage.prototype.read=function(key){},OidcSecurityStorage.prototype.write=function(key,value){},OidcSecurityStorage}();OidcSecurityStorage.decorators=[{type:_angular_core.Injectable}],OidcSecurityStorage.ctorParameters=function(){return[]};var BrowserStorage=function(){function BrowserStorage(authConfiguration){this.authConfiguration=authConfiguration,this.hasStorage="undefined"!=typeof Storage}return BrowserStorage.prototype.read=function(key){if(this.hasStorage)return JSON.parse(this.authConfiguration.storage.getItem(key))},BrowserStorage.prototype.write=function(key,value){this.hasStorage&&this.authConfiguration.storage.setItem(key,JSON.stringify(value))},BrowserStorage}();BrowserStorage.decorators=[{type:_angular_core.Injectable}],BrowserStorage.ctorParameters=function(){return[{type:AuthConfiguration}]};var OidcSecurityCommon=function(){function OidcSecurityCommon(authConfiguration,oidcSecurityStorage){this.authConfiguration=authConfiguration,this.oidcSecurityStorage=oidcSecurityStorage,this.storage_access_token="authorizationData",this.storage_id_token="authorizationDataIdToken",this.storage_is_authorized="_isAuthorized",this.storage_user_data="userData",this.storage_auth_nonce="authNonce",this.storage_auth_state_control="authStateControl",this.storage_well_known_endpoints="wellknownendpoints",this.storage_session_state="session_state",this.storage_silent_renew_running="storage_silent_renew_running"}return OidcSecurityCommon.prototype.setupModule=function(){},OidcSecurityCommon.prototype.retrieve=function(key){return this.oidcSecurityStorage.read(key)},OidcSecurityCommon.prototype.store=function(key,value){this.oidcSecurityStorage.write(key,value)},OidcSecurityCommon.prototype.resetStorageData=function(isRenewProcess){isRenewProcess||(this.store(this.storage_session_state,""),this.store(this.storage_silent_renew_running,""),this.store(this.storage_is_authorized,!1),this.store(this.storage_access_token,""),this.store(this.storage_id_token,""),this.store(this.storage_user_data,""))},OidcSecurityCommon.prototype.getAccessToken=function(){return this.retrieve(this.storage_access_token)},OidcSecurityCommon.prototype.logError=function(message){console.error(message)},OidcSecurityCommon.prototype.logWarning=function(message){this.authConfiguration.log_console_warning_active&&console.warn(message)},OidcSecurityCommon.prototype.logDebug=function(message){this.authConfiguration.log_console_debug_active&&console.log(message)},OidcSecurityCommon}();OidcSecurityCommon.decorators=[{type:_angular_core.Injectable}],OidcSecurityCommon.ctorParameters=function(){return[{type:AuthConfiguration},{type:OidcSecurityStorage}]};var OidcSecurityValidation=function(){function OidcSecurityValidation(oidcSecurityCommon){this.oidcSecurityCommon=oidcSecurityCommon}return OidcSecurityValidation.prototype.isTokenExpired=function(token,offsetSeconds){var decoded;return decoded=this.getPayloadFromToken(token,!1),!this.validate_id_token_exp_not_expired(decoded,offsetSeconds)},OidcSecurityValidation.prototype.validate_id_token_exp_not_expired=function(decoded_id_token,offsetSeconds){var tokenExpirationDate=this.getTokenExpirationDate(decoded_id_token);return offsetSeconds=offsetSeconds||0,null!=tokenExpirationDate&&tokenExpirationDate.valueOf()>(new Date).valueOf()+1e3*offsetSeconds},OidcSecurityValidation.prototype.validate_required_id_token=function(dataIdToken){var validated=!0;return dataIdToken.hasOwnProperty("iss")||(validated=!1,this.oidcSecurityCommon.logWarning("iss is missing, this is required in the id_token")),dataIdToken.hasOwnProperty("sub")||(validated=!1,this.oidcSecurityCommon.logWarning("sub is missing, this is required in the id_token")),dataIdToken.hasOwnProperty("aud")||(validated=!1,this.oidcSecurityCommon.logWarning("aud is missing, this is required in the id_token")),dataIdToken.hasOwnProperty("exp")||(validated=!1,this.oidcSecurityCommon.logWarning("exp is missing, this is required in the id_token")),dataIdToken.hasOwnProperty("iat")||(validated=!1,this.oidcSecurityCommon.logWarning("iat is missing, this is required in the id_token")),validated},OidcSecurityValidation.prototype.validate_id_token_iat_max_offset=function(dataIdToken,max_offset_allowed_in_seconds){if(!dataIdToken.hasOwnProperty("iat"))return!1;var dateTime_iat_id_token=new Date(0);return dateTime_iat_id_token.setUTCSeconds(dataIdToken.iat),max_offset_allowed_in_seconds=max_offset_allowed_in_seconds||0,null!=dateTime_iat_id_token&&(this.oidcSecurityCommon.logDebug("validate_id_token_iat_max_offset: "+((new Date).valueOf()-dateTime_iat_id_token.valueOf())+" < "+1e3*max_offset_allowed_in_seconds),(new Date).valueOf()-dateTime_iat_id_token.valueOf()<1e3*max_offset_allowed_in_seconds)},OidcSecurityValidation.prototype.validate_id_token_nonce=function(dataIdToken,local_nonce){return dataIdToken.nonce===local_nonce||(this.oidcSecurityCommon.logDebug("Validate_id_token_nonce failed, dataIdToken.nonce: "+dataIdToken.nonce+" local_nonce:"+local_nonce),!1)},OidcSecurityValidation.prototype.validate_id_token_iss=function(dataIdToken,authWellKnownEndpoints_issuer){return dataIdToken.iss==authWellKnownEndpoints_issuer||(this.oidcSecurityCommon.logDebug("Validate_id_token_iss failed, dataIdToken.iss: "+dataIdToken.iss+" authWellKnownEndpoints issuer:"+authWellKnownEndpoints_issuer),!1)},OidcSecurityValidation.prototype.validate_id_token_aud=function(dataIdToken,aud){return dataIdToken.aud==aud||(this.oidcSecurityCommon.logDebug("Validate_id_token_aud failed, dataIdToken.aud: "+dataIdToken.aud+" client_id:"+aud),!1)},OidcSecurityValidation.prototype.validateStateFromHashCallback=function(state,local_state){return state==local_state||(this.oidcSecurityCommon.logDebug("ValidateStateFromHashCallback failed, state: "+state+" local_state:"+local_state),!1)},OidcSecurityValidation.prototype.validate_userdata_sub_id_token=function(id_token_sub,userdata_sub){return id_token_sub==userdata_sub||(this.oidcSecurityCommon.logDebug("validate_userdata_sub_id_token failed, id_token_sub: "+id_token_sub+" userdata_sub:"+userdata_sub),!1)},OidcSecurityValidation.prototype.getPayloadFromToken=function(token,encode){var data={};if(void 0!==token){var encoded=token.split(".")[1];if(encode)return encoded;data=JSON.parse(this.urlBase64Decode(encoded))}return data},OidcSecurityValidation.prototype.getHeaderFromToken=function(token,encode){var data={};if(void 0!==token){var encoded=token.split(".")[0];if(encode)return encoded;data=JSON.parse(this.urlBase64Decode(encoded))}return data},OidcSecurityValidation.prototype.getSignatureFromToken=function(token,encode){var data={};if(void 0!==token){var encoded=token.split(".")[2];if(encode)return encoded;data=JSON.parse(this.urlBase64Decode(encoded))}return data},OidcSecurityValidation.prototype.validate_signature_id_token=function(id_token,jwtkeys){if(!jwtkeys||!jwtkeys.keys)return!1;var header_data=this.getHeaderFromToken(id_token,!1),kid=header_data.kid;if("RS256"!=header_data.alg)return this.oidcSecurityCommon.logWarning("Only RS256 supported"),!1;var isValid=!1;if(header_data.hasOwnProperty("kid"))for(var _d=0,_e=jwtkeys.keys;_d<_e.length;_d++){var key=_e[_d];if(key.kid==kid){var publickey=jsrsasign.KEYUTIL.getKey(key);return isValid=jsrsasign.KJUR.jws.JWS.verify(id_token,publickey,["RS256"]),isValid||this.oidcSecurityCommon.logWarning("incorrect Signature, validation failed for id_token"),isValid}}else{for(var amountOfMatchingKeys=0,_i=0,_a=jwtkeys.keys;_i<_a.length;_i++){var key=_a[_i];"RSA"==key.kty&&"sig"==key.use&&(amountOfMatchingKeys+=1)}if(0==amountOfMatchingKeys)return this.oidcSecurityCommon.logWarning("no keys found, incorrect Signature, validation failed for id_token"),!1;if(amountOfMatchingKeys>1)return this.oidcSecurityCommon.logWarning("no ID Token kid claim in JOSE header and multiple supplied in jwks_uri"),!1;for(var _b=0,_c=jwtkeys.keys;_b<_c.length;_b++){var key=_c[_b];if("RSA"==key.kty&&"sig"==key.use){var publickey=jsrsasign.KEYUTIL.getKey(key);return isValid=jsrsasign.KJUR.jws.JWS.verify(id_token,publickey,["RS256"]),isValid||this.oidcSecurityCommon.logWarning("incorrect Signature, validation failed for id_token"),isValid}}}return isValid},OidcSecurityValidation.prototype.config_validate_response_type=function(response_type){return"id_token token"===response_type||"id_token"===response_type||(this.oidcSecurityCommon.logWarning("module configure incorrect, invalid response_type:"+response_type),!1)},OidcSecurityValidation.prototype.validate_id_token_at_hash=function(access_token,at_hash){this.oidcSecurityCommon.logDebug("From the server:"+at_hash);var testdata=this.generate_at_hash(""+access_token);if(this.oidcSecurityCommon.logDebug("client validation not decoded:"+testdata),testdata==at_hash)return!0;var testValue=this.generate_at_hash(""+decodeURIComponent(access_token));return this.oidcSecurityCommon.logDebug("-gen access--"+testValue),testValue==at_hash},OidcSecurityValidation.prototype.generate_at_hash=function(access_token){var hash=jsrsasign.KJUR.crypto.Util.hashString(access_token,"sha256"),first128bits=hash.substr(0,hash.length/2);return jsrsasign.hextob64u(first128bits)},OidcSecurityValidation.prototype.getTokenExpirationDate=function(dataIdToken){if(!dataIdToken.hasOwnProperty("exp"))return new Date;var date=new Date(0);return date.setUTCSeconds(dataIdToken.exp),date},OidcSecurityValidation.prototype.urlBase64Decode=function(str){var output=str.replace("-","+").replace("_","/");switch(output.length%4){case 0:break;case 2:output+="==";break;case 3:output+="=";break;default:throw"Illegal base64url string!"}return window.atob(output)},OidcSecurityValidation}();OidcSecurityValidation.decorators=[{type:_angular_core.Injectable}],OidcSecurityValidation.ctorParameters=function(){return[{type:OidcSecurityCommon}]};var AuthWellKnownEndpoints=function(){function AuthWellKnownEndpoints(http,authConfiguration,oidcSecurityCommon){var _this=this;this.http=http,this.authConfiguration=authConfiguration,this.oidcSecurityCommon=oidcSecurityCommon,this.onWellKnownEndpointsLoaded=new _angular_core.EventEmitter(!0),this.getWellKnownEndpoints=function(){var headers=new _angular_http.Headers;headers.append("Content-Type","application/json"),headers.append("Accept","application/json");var url=_this.authConfiguration.stsServer+"/.well-known/openid-configuration";return _this.authConfiguration.override_well_known_configuration&&(url=_this.authConfiguration.override_well_known_configuration_url),_this.http.get(url,{headers:headers,body:""}).map(function(res){return res.json()})}}return AuthWellKnownEndpoints.prototype.setupModule=function(){var _this=this,data=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_well_known_endpoints);this.oidcSecurityCommon.logDebug(data),data&&""!==data?(this.oidcSecurityCommon.logDebug("AuthWellKnownEndpoints already defined"),this.issuer=data.issuer,this.jwks_uri=data.jwks_uri,this.authorization_endpoint=data.authorization_endpoint,this.token_endpoint=data.token_endpoint,this.userinfo_endpoint=data.userinfo_endpoint,data.end_session_endpoint&&(this.end_session_endpoint=data.end_session_endpoint),data.check_session_iframe&&(this.check_session_iframe=data.check_session_iframe),data.revocation_endpoint&&(this.revocation_endpoint=data.revocation_endpoint),data.introspection_endpoint&&(this.introspection_endpoint=data.introspection_endpoint),this.onWellKnownEndpointsLoaded.emit()):(this.oidcSecurityCommon.logDebug("AuthWellKnownEndpoints first time, get from the server"),this.getWellKnownEndpoints().subscribe(function(data){_this.issuer=data.issuer,_this.jwks_uri=data.jwks_uri,_this.authorization_endpoint=data.authorization_endpoint,_this.token_endpoint=data.token_endpoint,_this.userinfo_endpoint=data.userinfo_endpoint,data.end_session_endpoint&&(_this.end_session_endpoint=data.end_session_endpoint),data.check_session_iframe&&(_this.check_session_iframe=data.check_session_iframe),data.revocation_endpoint&&(_this.revocation_endpoint=data.revocation_endpoint),data.introspection_endpoint&&(_this.introspection_endpoint=data.introspection_endpoint),_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_well_known_endpoints,data),_this.oidcSecurityCommon.logDebug(data),_this.onWellKnownEndpointsLoaded.emit()}))},AuthWellKnownEndpoints}();AuthWellKnownEndpoints.decorators=[{type:_angular_core.Injectable}],AuthWellKnownEndpoints.ctorParameters=function(){return[{type:_angular_http.Http},{type:AuthConfiguration},{type:OidcSecurityCommon}]},AuthWellKnownEndpoints.propDecorators={onWellKnownEndpointsLoaded:[{type:_angular_core.Output}]};var OidcSecurityCheckSession=function(){function OidcSecurityCheckSession(authConfiguration,oidcSecurityCommon,authWellKnownEndpoints){this.authConfiguration=authConfiguration,this.oidcSecurityCommon=oidcSecurityCommon,this.authWellKnownEndpoints=authWellKnownEndpoints,this.onCheckSessionChanged=new _angular_core.EventEmitter(!0)}return OidcSecurityCheckSession.prototype.init=function(){var _this=this;return window.parent.document.getElementById("myiFrameForCheckSession")?rxjs_Observable.Observable.empty():(this.sessionIframe=window.document.createElement("iframe"),this.sessionIframe.id="myiFrameForCheckSession",this.oidcSecurityCommon.logDebug(this.sessionIframe),this.sessionIframe.style.display="none",this.sessionIframe.src=this.authWellKnownEndpoints.check_session_iframe,window.document.body.appendChild(this.sessionIframe),this.iframeMessageEvent=this.messageHandler.bind(this),window.addEventListener("message",this.iframeMessageEvent,!1),rxjs_Observable.Observable.create(function(observer){_this.sessionIframe.onload=function(){observer.next(_this),observer.complete()}}))},OidcSecurityCheckSession.prototype.pollServerSession=function(clientId){var _this=this,source=rxjs_Observable.Observable.timer(3e3,3e3).timeInterval().pluck("interval").take(1e4);source.subscribe(function(){_this.oidcSecurityCommon.logDebug(_this.sessionIframe);var session_state=_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_session_state);session_state&&""!==session_state&&_this.sessionIframe.contentWindow.postMessage(clientId+" "+session_state,_this.authConfiguration.stsServer)},function(err){_this.oidcSecurityCommon.logError("pollServerSession error: "+err)},function(){_this.oidcSecurityCommon.logDebug("checksession pollServerSession completed")})},OidcSecurityCheckSession.prototype.messageHandler=function(e){e.origin===this.authConfiguration.stsServer&&e.source===this.sessionIframe.contentWindow&&("error"===e.data?this.oidcSecurityCommon.logWarning("error from checksession messageHandler"):"changed"===e.data?this.onCheckSessionChanged.emit():this.oidcSecurityCommon.logDebug(e.data+" from checksession messageHandler"))},OidcSecurityCheckSession}();OidcSecurityCheckSession.decorators=[{type:_angular_core.Injectable}],OidcSecurityCheckSession.ctorParameters=function(){return[{type:AuthConfiguration},{type:OidcSecurityCommon},{type:AuthWellKnownEndpoints}]},OidcSecurityCheckSession.propDecorators={onCheckSessionChanged:[{type:_angular_core.Output}]};var OidcSecuritySilentRenew=function(){function OidcSecuritySilentRenew(oidcSecurityCommon){this.oidcSecurityCommon=oidcSecurityCommon}return OidcSecuritySilentRenew.prototype.initRenew=function(){var existsparent=window.parent.document.getElementById("myiFrameForSilentRenew"),exists=window.document.getElementById("myiFrameForSilentRenew");existsparent?this.sessionIframe=existsparent:exists&&(this.sessionIframe=exists),exists||existsparent||(this.sessionIframe=window.document.createElement("iframe"),this.sessionIframe.id="myiFrameForSilentRenew",this.oidcSecurityCommon.logDebug(this.sessionIframe),this.sessionIframe.style.display="none",window.document.body.appendChild(this.sessionIframe))},OidcSecuritySilentRenew.prototype.startRenew=function(url){var _this=this,existsparent=window.parent.document.getElementById("myiFrameForSilentRenew"),exists=window.document.getElementById("myiFrameForSilentRenew");return existsparent?this.sessionIframe=existsparent:exists&&(this.sessionIframe=exists),this.oidcSecurityCommon.logDebug("startRenew for URL:"+url),this.sessionIframe.src=url,rxjs_Observable.Observable.create(function(observer){_this.sessionIframe.onload=function(){observer.next(_this),observer.complete()}})},OidcSecuritySilentRenew}();OidcSecuritySilentRenew.decorators=[{type:_angular_core.Injectable}],OidcSecuritySilentRenew.ctorParameters=function(){return[{type:OidcSecurityCommon}]};var OidcSecurityUserService=function(){function OidcSecurityUserService(http,authConfiguration,oidcSecurityCommon,authWellKnownEndpoints){var _this=this;this.http=http,this.authConfiguration=authConfiguration,this.oidcSecurityCommon=oidcSecurityCommon,this.authWellKnownEndpoints=authWellKnownEndpoints,this.getIdentityUserData=function(){var headers=new _angular_http.Headers;headers.append("Content-Type","application/json"),headers.append("Accept","application/json");var token=_this.oidcSecurityCommon.getAccessToken();return""!==token&&headers.append("Authorization","Bearer "+decodeURIComponent(token)),_this.http.get(_this.authWellKnownEndpoints.userinfo_endpoint,{headers:headers,body:""}).map(function(res){return res.json()})}}return OidcSecurityUserService.prototype.setupModule=function(){""!==this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_user_data)&&(this.userData=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_user_data))},OidcSecurityUserService.prototype.initUserData=function(){var _this=this;return this.getIdentityUserData().map(function(data){return _this.userData=data})},OidcSecurityUserService.prototype.handleError=function(error){this.oidcSecurityCommon.logError(error)},OidcSecurityUserService}();OidcSecurityUserService.decorators=[{type:_angular_core.Injectable}],OidcSecurityUserService.ctorParameters=function(){return[{type:_angular_http.Http},{type:AuthConfiguration},{type:OidcSecurityCommon},{type:AuthWellKnownEndpoints}]};var OidcSecurityService=function(){function OidcSecurityService(platformId,http,authConfiguration,router,oidcSecurityCheckSession,oidcSecuritySilentRenew,oidcSecurityUserService,oidcSecurityCommon,authWellKnownEndpoints){this.platformId=platformId,this.http=http,this.authConfiguration=authConfiguration,this.router=router,this.oidcSecurityCheckSession=oidcSecurityCheckSession,this.oidcSecuritySilentRenew=oidcSecuritySilentRenew,this.oidcSecurityUserService=oidcSecurityUserService,this.oidcSecurityCommon=oidcSecurityCommon,this.authWellKnownEndpoints=authWellKnownEndpoints,this.onUserDataLoaded=new _angular_core.EventEmitter(!0),this.authWellKnownEndpointsLoaded=!1}return OidcSecurityService.prototype.setupModule=function(openIDImplicitFlowConfiguration){var _this=this;this.authConfiguration.init(openIDImplicitFlowConfiguration),this.oidcSecurityValidation=new OidcSecurityValidation(this.oidcSecurityCommon),this.oidcSecurityCheckSession.onCheckSessionChanged.subscribe(function(){_this.onCheckSessionChanged()}),this.authWellKnownEndpoints.onWellKnownEndpointsLoaded.subscribe(function(){_this.onWellKnownEndpointsLoaded()}),this.oidcSecurityCommon.setupModule(),this.oidcSecurityUserService.setupModule(),this.headers=new _angular_http.Headers,this.headers.append("Content-Type","application/json"),this.headers.append("Accept","application/json"),""!==this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_is_authorized)&&(this.isAuthorized=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_is_authorized)),this.oidcSecurityCommon.logDebug("STS server: "+this.authConfiguration.stsServer),_angular_common.isPlatformBrowser(this.platformId)&&(this.authWellKnownEndpoints.setupModule(),this.authConfiguration.silent_renew&&this.oidcSecuritySilentRenew.initRenew(),this.authConfiguration.start_checksession&&this.oidcSecurityCheckSession.init().subscribe(function(){_this.oidcSecurityCheckSession.pollServerSession(_this.authConfiguration.client_id)}))},OidcSecurityService.prototype.getToken=function(){var token=this.oidcSecurityCommon.getAccessToken();return decodeURIComponent(token)},OidcSecurityService.prototype.getUserData=function(){return this.isAuthorized||this.oidcSecurityCommon.logError("User must be logged in before you can get the user data!"),this.oidcSecurityUserService.userData||(this.oidcSecurityUserService.userData=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_user_data)),this.oidcSecurityUserService.userData},OidcSecurityService.prototype.authorize=function(){var data=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_well_known_endpoints);if(data&&""!==data&&(this.authWellKnownEndpointsLoaded=!0),!this.authWellKnownEndpointsLoaded)return void this.oidcSecurityCommon.logError("Well known endpoints must be loaded before user can login!");if(this.oidcSecurityValidation.config_validate_response_type(this.authConfiguration.response_type)){this.resetAuthorizationData(!1),this.oidcSecurityCommon.logDebug("BEGIN Authorize, no auth data");var nonce="N"+Math.random()+Date.now(),state=Date.now()+""+Math.random();this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_state_control,state),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_nonce,nonce),this.oidcSecurityCommon.logDebug("AuthorizedController created. local state: "+this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_auth_state_control));var url=this.createAuthorizeUrl(nonce,state);window.location.href=url}},OidcSecurityService.prototype.authorizedCallback=function(){var _this=this,silentRenew=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_silent_renew_running),isRenewProcess="running"===silentRenew;this.oidcSecurityCommon.logDebug("BEGIN authorizedCallback, no auth data"),this.resetAuthorizationData(isRenewProcess);var hash=window.location.hash.substr(1),result=hash.split("&").reduce(function(result,item){var parts=item.split("=");return result[parts[0]]=parts[1],result},{});this.oidcSecurityCommon.logDebug(result),this.oidcSecurityCommon.logDebug("authorizedCallback created, begin token validation");var decoded_id_token,access_token="",id_token="",authResponseIsValid=!1;this.getSigningKeys().subscribe(function(jwtKeys){if(_this.jwtKeys=jwtKeys,!result.error)if(_this.oidcSecurityValidation.validateStateFromHashCallback(result.state,_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_auth_state_control))){"id_token token"===_this.authConfiguration.response_type&&(access_token=result.access_token),id_token=result.id_token;decoded_id_token=_this.oidcSecurityValidation.getPayloadFromToken(id_token,!1),_this.oidcSecurityValidation.getHeaderFromToken(id_token,!1),_this.oidcSecurityValidation.validate_signature_id_token(id_token,_this.jwtKeys)?_this.oidcSecurityValidation.validate_id_token_nonce(decoded_id_token,_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_auth_nonce))?_this.oidcSecurityValidation.validate_required_id_token(decoded_id_token)?_this.oidcSecurityValidation.validate_id_token_iat_max_offset(decoded_id_token,_this.authConfiguration.max_id_token_iat_offset_allowed_in_seconds)?_this.oidcSecurityValidation.validate_id_token_iss(decoded_id_token,_this.authWellKnownEndpoints.issuer)?_this.oidcSecurityValidation.validate_id_token_aud(decoded_id_token,_this.authConfiguration.client_id)?_this.oidcSecurityValidation.validate_id_token_exp_not_expired(decoded_id_token)?"id_token token"===_this.authConfiguration.response_type?_this.oidcSecurityValidation.validate_id_token_at_hash(access_token,decoded_id_token.at_hash)||!access_token?(authResponseIsValid=!0,_this.successful_validation()):_this.oidcSecurityCommon.logWarning("authorizedCallback incorrect at_hash"):(authResponseIsValid=!0,_this.successful_validation()):_this.oidcSecurityCommon.logWarning("authorizedCallback token expired"):_this.oidcSecurityCommon.logWarning("authorizedCallback incorrect aud"):_this.oidcSecurityCommon.logWarning("authorizedCallback incorrect iss does not match authWellKnownEndpoints issuer"):_this.oidcSecurityCommon.logWarning("authorizedCallback Validation, iat rejected id_token was issued too far away from the current time"):_this.oidcSecurityCommon.logDebug("authorizedCallback Validation, one of the REQUIRED properties missing from id_token"):_this.oidcSecurityCommon.logWarning("authorizedCallback incorrect nonce"):_this.oidcSecurityCommon.logDebug("authorizedCallback Signature validation failed id_token")}else _this.oidcSecurityCommon.logWarning("authorizedCallback incorrect state");_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_silent_renew_running,""),authResponseIsValid?(_this.setAuthorizationData(access_token,id_token),"id_token token"===_this.authConfiguration.response_type?isRenewProcess?_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_session_state,result.session_state):_this.oidcSecurityUserService.initUserData().subscribe(function(){_this.oidcSecurityCommon.logDebug("authorizedCallback id_token token flow"),_this.oidcSecurityValidation.validate_userdata_sub_id_token(decoded_id_token.sub,_this.oidcSecurityUserService.userData.sub)?(_this.onUserDataLoaded.emit(),_this.oidcSecurityCommon.logDebug(_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_access_token)),
_this.oidcSecurityCommon.logDebug(_this.oidcSecurityUserService.userData),_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_session_state,result.session_state),_this.runTokenValidatation(),_this.router.navigate([_this.authConfiguration.startup_route])):(_this.oidcSecurityCommon.logWarning("authorizedCallback, User data sub does not match sub in id_token"),_this.oidcSecurityCommon.logDebug("authorizedCallback, token(s) validation failed, resetting"),_this.resetAuthorizationData(!1),_this.router.navigate([_this.authConfiguration.unauthorized_route]))}):(_this.oidcSecurityCommon.logDebug("authorizedCallback id_token flow"),_this.oidcSecurityCommon.logDebug(_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_access_token)),_this.oidcSecurityUserService.userData=decoded_id_token,_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_session_state,result.session_state),isRenewProcess||_this.runTokenValidatation(),_this.router.navigate([_this.authConfiguration.startup_route]))):(_this.oidcSecurityCommon.logDebug("authorizedCallback, token(s) validation failed, resetting"),_this.resetAuthorizationData(!1),_this.router.navigate([_this.authConfiguration.unauthorized_route]))})},OidcSecurityService.prototype.logoff=function(){if(this.oidcSecurityCommon.logDebug("BEGIN Authorize, no auth data"),this.authWellKnownEndpoints.end_session_endpoint){var authorizationEndsessionUrl=this.authWellKnownEndpoints.end_session_endpoint,id_token_hint=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_id_token),post_logout_redirect_uri=this.authConfiguration.post_logout_redirect_uri,url=authorizationEndsessionUrl+"?id_token_hint="+encodeURI(id_token_hint)+"&post_logout_redirect_uri="+encodeURI(post_logout_redirect_uri);this.resetAuthorizationData(!1),this.authConfiguration.start_checksession&&this.checkSessionChanged?this.oidcSecurityCommon.logDebug("only local login cleaned up, server session has changed"):window.location.href=url}else this.resetAuthorizationData(!1),this.oidcSecurityCommon.logDebug("only local login cleaned up, no end_session_endpoint")},OidcSecurityService.prototype.successful_validation=function(){this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_nonce,""),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_state_control,""),this.oidcSecurityCommon.logDebug("AuthorizedCallback token(s) validated, continue")},OidcSecurityService.prototype.refreshSession=function(){this.oidcSecurityCommon.logDebug("BEGIN refresh session Authorize");var nonce="N"+Math.random()+Date.now(),state=Date.now()+""+Math.random();this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_state_control,state),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_nonce,nonce),this.oidcSecurityCommon.logDebug("RefreshSession created. adding myautostate: "+this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_auth_state_control));var url=this.createAuthorizeUrl(nonce,state);this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_silent_renew_running,"running"),this.oidcSecuritySilentRenew.startRenew(url)},OidcSecurityService.prototype.setAuthorizationData=function(access_token,id_token){""!==this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_access_token)&&this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_access_token,""),this.oidcSecurityCommon.logDebug(access_token),this.oidcSecurityCommon.logDebug(id_token),this.oidcSecurityCommon.logDebug("storing to storage, getting the roles"),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_access_token,access_token),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_id_token,id_token),this.isAuthorized=!0,this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_is_authorized,!0)},OidcSecurityService.prototype.createAuthorizeUrl=function(nonce,state){var authorizationUrl=this.authWellKnownEndpoints.authorization_endpoint,client_id=this.authConfiguration.client_id,redirect_uri=this.authConfiguration.redirect_url,response_type=this.authConfiguration.response_type,scope=this.authConfiguration.scope;return authorizationUrl+"?response_type="+encodeURI(response_type)+"&client_id="+encodeURI(client_id)+"&redirect_uri="+encodeURI(redirect_uri)+"&scope="+encodeURI(scope)+"&nonce="+encodeURI(nonce)+"&state="+encodeURI(state)},OidcSecurityService.prototype.resetAuthorizationData=function(isRenewProcess){isRenewProcess||(this.isAuthorized=!1,this.oidcSecurityCommon.resetStorageData(isRenewProcess),this.checkSessionChanged=!1)},OidcSecurityService.prototype.handleError=function(error){if(this.oidcSecurityCommon.logError(error),403==error.status)this.router.navigate([this.authConfiguration.forbidden_route]);else if(401==error.status){var silentRenew=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_silent_renew_running);this.resetAuthorizationData(silentRenew),this.router.navigate([this.authConfiguration.unauthorized_route])}},OidcSecurityService.prototype.onCheckSessionChanged=function(){this.oidcSecurityCommon.logDebug("onCheckSessionChanged"),this.checkSessionChanged=!0},OidcSecurityService.prototype.onWellKnownEndpointsLoaded=function(){this.oidcSecurityCommon.logDebug("onWellKnownEndpointsLoaded"),this.authWellKnownEndpointsLoaded=!0},OidcSecurityService.prototype.runGetSigningKeys=function(){var _this=this;this.getSigningKeys().subscribe(function(jwtKeys){return _this.jwtKeys=jwtKeys},function(error){return _this.errorMessage=error})},OidcSecurityService.prototype.getSigningKeys=function(){return this.oidcSecurityCommon.logDebug("jwks_uri: "+this.authWellKnownEndpoints.jwks_uri),this.http.get(this.authWellKnownEndpoints.jwks_uri).map(this.extractData).catch(this.handleErrorGetSigningKeys)},OidcSecurityService.prototype.extractData=function(res){return res.json()},OidcSecurityService.prototype.handleErrorGetSigningKeys=function(error){var errMsg;if(error instanceof _angular_http.Response){var body=error.json()||"",err=body.error||JSON.stringify(body);errMsg=error.status+" - "+(error.statusText||"")+" "+err}else errMsg=error.message?error.message:error.toString();return console.error(errMsg),rxjs_Rx.Observable.throw(errMsg)},OidcSecurityService.prototype.runTokenValidatation=function(){var _this=this,source=rxjs_Rx.Observable.timer(3e3,3e3).timeInterval().pluck("interval").take(1e4);source.subscribe(function(){_this.isAuthorized&&_this.oidcSecurityValidation.isTokenExpired(_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_id_token))&&(_this.oidcSecurityCommon.logDebug("IsAuthorized: id_token isTokenExpired, start silent renew if active"),_this.authConfiguration.silent_renew?_this.refreshSession():_this.resetAuthorizationData(!1))},function(err){_this.oidcSecurityCommon.logError("Error: "+err)},function(){_this.oidcSecurityCommon.logDebug("Completed")})},OidcSecurityService}();OidcSecurityService.decorators=[{type:_angular_core.Injectable}],OidcSecurityService.ctorParameters=function(){return[{type:Object,decorators:[{type:_angular_core.Inject,args:[_angular_core.PLATFORM_ID]}]},{type:_angular_http.Http},{type:AuthConfiguration},{type:_angular_router.Router},{type:OidcSecurityCheckSession},{type:OidcSecuritySilentRenew},{type:OidcSecurityUserService},{type:OidcSecurityCommon},{type:AuthWellKnownEndpoints}]},OidcSecurityService.propDecorators={onUserDataLoaded:[{type:_angular_core.Output}]};var AuthModule=function(){function AuthModule(){}return AuthModule.forRoot=function(token){return void 0===token&&(token={}),{ngModule:AuthModule,providers:[OidcSecurityService,OidcSecurityValidation,OidcSecurityCheckSession,OidcSecuritySilentRenew,OidcSecurityUserService,OidcSecurityCommon,AuthConfiguration,DefaultConfiguration,AuthWellKnownEndpoints,{provide:OidcSecurityStorage,useClass:token.storage||BrowserStorage}]}},AuthModule.forChild=function(token){return void 0===token&&(token={}),{ngModule:AuthModule,providers:[OidcSecurityService,OidcSecurityValidation,OidcSecurityCheckSession,OidcSecuritySilentRenew,OidcSecurityUserService,OidcSecurityCommon,AuthConfiguration,AuthWellKnownEndpoints,{provide:OidcSecurityStorage,useClass:token.storage||BrowserStorage}]}},AuthModule}();AuthModule.decorators=[{type:_angular_core.NgModule}],AuthModule.ctorParameters=function(){return[]},exports.OidcSecurityService=OidcSecurityService,exports.OidcSecurityValidation=OidcSecurityValidation,exports.OidcSecurityCheckSession=OidcSecurityCheckSession,exports.OidcSecuritySilentRenew=OidcSecuritySilentRenew,exports.OidcSecurityUserService=OidcSecurityUserService,exports.OidcSecurityCommon=OidcSecurityCommon,exports.OidcSecurityStorage=OidcSecurityStorage,exports.BrowserStorage=BrowserStorage,exports.AuthWellKnownEndpoints=AuthWellKnownEndpoints,exports.AuthConfiguration=AuthConfiguration,exports.OpenIDImplicitFlowConfiguration=OpenIDImplicitFlowConfiguration,exports.DefaultConfiguration=DefaultConfiguration,exports.AuthModule=AuthModule,Object.defineProperty(exports,"__esModule",{value:!0})});
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/core"),require("@angular/common"),require("@angular/http"),require("rxjs/add/operator/map"),require("rxjs/add/operator/catch"),require("rxjs/Rx"),require("@angular/router"),require("jsrsasign"),require("rxjs/Observable"),require("rxjs/add/observable/throw"),require("rxjs/add/observable/interval"),require("rxjs/add/observable/timer")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/common","@angular/http","rxjs/add/operator/map","rxjs/add/operator/catch","rxjs/Rx","@angular/router","jsrsasign","rxjs/Observable","rxjs/add/observable/throw","rxjs/add/observable/interval","rxjs/add/observable/timer"],factory):factory((global.ng=global.ng||{},global.ng.angularAuthOidcClient=global.ng.angularAuthOidcClient||{}),global.ng.core,global.ng.common,global.ng.http,global.Rx,global.Rx,global.Rx,global.ng.router,global.jsrsasign,global.Rx)}(this,function(exports,_angular_core,_angular_common,_angular_http,rxjs_add_operator_map,rxjs_add_operator_catch,rxjs_Rx,_angular_router,jsrsasign,rxjs_Observable){"use strict";var DefaultConfiguration=function(){function DefaultConfiguration(){this.stsServer="https://localhost:44318",this.redirect_url="https://localhost:44311",this.client_id="angularclient",this.response_type="id_token token",this.resource="",this.scope="openid email profile",this.post_logout_redirect_uri="https://localhost:44311/unauthorized",this.start_checksession=!1,this.silent_renew=!0,this.startup_route="/dataeventrecords",this.forbidden_route="/forbidden",this.unauthorized_route="/unauthorized",this.log_console_warning_active=!0,this.log_console_debug_active=!1,this.max_id_token_iat_offset_allowed_in_seconds=3,this.override_well_known_configuration=!1,this.override_well_known_configuration_url="https://localhost:44386/wellknownconfiguration.json",this.storage="undefined"!=typeof Storage?sessionStorage:null}return DefaultConfiguration}(),OpenIDImplicitFlowConfiguration=function(){function OpenIDImplicitFlowConfiguration(){}return OpenIDImplicitFlowConfiguration}(),AuthConfiguration=function(){function AuthConfiguration(defaultConfig){this.defaultConfig=defaultConfig}return Object.defineProperty(AuthConfiguration.prototype,"stsServer",{get:function(){return this.openIDImplicitFlowConfiguration.stsServer||this.defaultConfig.stsServer},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"redirect_url",{get:function(){return this.openIDImplicitFlowConfiguration.redirect_url||this.defaultConfig.redirect_url},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"client_id",{get:function(){return this.openIDImplicitFlowConfiguration.client_id||this.defaultConfig.client_id},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"response_type",{get:function(){return this.openIDImplicitFlowConfiguration.response_type||this.defaultConfig.response_type},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"resource",{get:function(){return this.openIDImplicitFlowConfiguration.resource||this.defaultConfig.resource},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"scope",{get:function(){return this.openIDImplicitFlowConfiguration.scope||this.defaultConfig.scope},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"post_logout_redirect_uri",{get:function(){return this.openIDImplicitFlowConfiguration.post_logout_redirect_uri||this.defaultConfig.post_logout_redirect_uri},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"start_checksession",{get:function(){return this.openIDImplicitFlowConfiguration.start_checksession||this.defaultConfig.start_checksession},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"silent_renew",{get:function(){return this.openIDImplicitFlowConfiguration.silent_renew||this.defaultConfig.silent_renew},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"startup_route",{get:function(){return this.openIDImplicitFlowConfiguration.startup_route||this.defaultConfig.startup_route},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"forbidden_route",{get:function(){return this.openIDImplicitFlowConfiguration.forbidden_route||this.defaultConfig.forbidden_route},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"unauthorized_route",{get:function(){return this.openIDImplicitFlowConfiguration.unauthorized_route||this.defaultConfig.unauthorized_route},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"log_console_warning_active",{get:function(){return this.openIDImplicitFlowConfiguration.log_console_warning_active||this.defaultConfig.log_console_warning_active},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"log_console_debug_active",{get:function(){return this.openIDImplicitFlowConfiguration.log_console_debug_active||this.defaultConfig.log_console_debug_active},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"max_id_token_iat_offset_allowed_in_seconds",{get:function(){return this.openIDImplicitFlowConfiguration.max_id_token_iat_offset_allowed_in_seconds||this.defaultConfig.max_id_token_iat_offset_allowed_in_seconds},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"override_well_known_configuration",{get:function(){return this.openIDImplicitFlowConfiguration.override_well_known_configuration||this.defaultConfig.override_well_known_configuration},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"override_well_known_configuration_url",{get:function(){return this.openIDImplicitFlowConfiguration.override_well_known_configuration_url||this.defaultConfig.override_well_known_configuration_url},enumerable:!0,configurable:!0}),Object.defineProperty(AuthConfiguration.prototype,"storage",{get:function(){return this.openIDImplicitFlowConfiguration.storage||this.defaultConfig.storage},enumerable:!0,configurable:!0}),AuthConfiguration.prototype.init=function(openIDImplicitFlowConfiguration){this.openIDImplicitFlowConfiguration=openIDImplicitFlowConfiguration},AuthConfiguration}();AuthConfiguration.decorators=[{type:_angular_core.Injectable}],AuthConfiguration.ctorParameters=function(){return[{type:DefaultConfiguration}]};var OidcSecurityStorage=function(){function OidcSecurityStorage(){}return OidcSecurityStorage.prototype.read=function(key){},OidcSecurityStorage.prototype.write=function(key,value){},OidcSecurityStorage}();OidcSecurityStorage.decorators=[{type:_angular_core.Injectable}],OidcSecurityStorage.ctorParameters=function(){return[]};var BrowserStorage=function(){function BrowserStorage(authConfiguration){this.authConfiguration=authConfiguration,this.hasStorage="undefined"!=typeof Storage}return BrowserStorage.prototype.read=function(key){if(this.hasStorage)return JSON.parse(this.authConfiguration.storage.getItem(key))},BrowserStorage.prototype.write=function(key,value){this.hasStorage&&this.authConfiguration.storage.setItem(key,JSON.stringify(value))},BrowserStorage}();BrowserStorage.decorators=[{type:_angular_core.Injectable}],BrowserStorage.ctorParameters=function(){return[{type:AuthConfiguration}]};var OidcSecurityCommon=function(){function OidcSecurityCommon(authConfiguration,oidcSecurityStorage){this.authConfiguration=authConfiguration,this.oidcSecurityStorage=oidcSecurityStorage,this.storage_access_token="authorizationData",this.storage_id_token="authorizationDataIdToken",this.storage_is_authorized="_isAuthorized",this.storage_user_data="userData",this.storage_auth_nonce="authNonce",this.storage_auth_state_control="authStateControl",this.storage_well_known_endpoints="wellknownendpoints",this.storage_session_state="session_state",this.storage_silent_renew_running="storage_silent_renew_running"}return OidcSecurityCommon.prototype.setupModule=function(){},OidcSecurityCommon.prototype.retrieve=function(key){return this.oidcSecurityStorage.read(key)},OidcSecurityCommon.prototype.store=function(key,value){this.oidcSecurityStorage.write(key,value)},OidcSecurityCommon.prototype.resetStorageData=function(isRenewProcess){isRenewProcess||(this.store(this.storage_session_state,""),this.store(this.storage_silent_renew_running,""),this.store(this.storage_is_authorized,!1),this.store(this.storage_access_token,""),this.store(this.storage_id_token,""),this.store(this.storage_user_data,""))},OidcSecurityCommon.prototype.getAccessToken=function(){return this.retrieve(this.storage_access_token)},OidcSecurityCommon.prototype.logError=function(message){console.error(message)},OidcSecurityCommon.prototype.logWarning=function(message){this.authConfiguration.log_console_warning_active&&console.warn(message)},OidcSecurityCommon.prototype.logDebug=function(message){this.authConfiguration.log_console_debug_active&&console.log(message)},OidcSecurityCommon}();OidcSecurityCommon.decorators=[{type:_angular_core.Injectable}],OidcSecurityCommon.ctorParameters=function(){return[{type:AuthConfiguration},{type:OidcSecurityStorage}]};var OidcSecurityValidation=function(){function OidcSecurityValidation(oidcSecurityCommon){this.oidcSecurityCommon=oidcSecurityCommon}return OidcSecurityValidation.prototype.isTokenExpired=function(token,offsetSeconds){var decoded;return decoded=this.getPayloadFromToken(token,!1),!this.validate_id_token_exp_not_expired(decoded,offsetSeconds)},OidcSecurityValidation.prototype.validate_id_token_exp_not_expired=function(decoded_id_token,offsetSeconds){var tokenExpirationDate=this.getTokenExpirationDate(decoded_id_token);return offsetSeconds=offsetSeconds||0,null!=tokenExpirationDate&&tokenExpirationDate.valueOf()>(new Date).valueOf()+1e3*offsetSeconds},OidcSecurityValidation.prototype.validate_required_id_token=function(dataIdToken){var validated=!0;return dataIdToken.hasOwnProperty("iss")||(validated=!1,this.oidcSecurityCommon.logWarning("iss is missing, this is required in the id_token")),dataIdToken.hasOwnProperty("sub")||(validated=!1,this.oidcSecurityCommon.logWarning("sub is missing, this is required in the id_token")),dataIdToken.hasOwnProperty("aud")||(validated=!1,this.oidcSecurityCommon.logWarning("aud is missing, this is required in the id_token")),dataIdToken.hasOwnProperty("exp")||(validated=!1,this.oidcSecurityCommon.logWarning("exp is missing, this is required in the id_token")),dataIdToken.hasOwnProperty("iat")||(validated=!1,this.oidcSecurityCommon.logWarning("iat is missing, this is required in the id_token")),validated},OidcSecurityValidation.prototype.validate_id_token_iat_max_offset=function(dataIdToken,max_offset_allowed_in_seconds){if(!dataIdToken.hasOwnProperty("iat"))return!1;var dateTime_iat_id_token=new Date(0);return dateTime_iat_id_token.setUTCSeconds(dataIdToken.iat),max_offset_allowed_in_seconds=max_offset_allowed_in_seconds||0,null!=dateTime_iat_id_token&&(this.oidcSecurityCommon.logDebug("validate_id_token_iat_max_offset: "+((new Date).valueOf()-dateTime_iat_id_token.valueOf())+" < "+1e3*max_offset_allowed_in_seconds),(new Date).valueOf()-dateTime_iat_id_token.valueOf()<1e3*max_offset_allowed_in_seconds)},OidcSecurityValidation.prototype.validate_id_token_nonce=function(dataIdToken,local_nonce){return dataIdToken.nonce===local_nonce||(this.oidcSecurityCommon.logDebug("Validate_id_token_nonce failed, dataIdToken.nonce: "+dataIdToken.nonce+" local_nonce:"+local_nonce),!1)},OidcSecurityValidation.prototype.validate_id_token_iss=function(dataIdToken,authWellKnownEndpoints_issuer){return dataIdToken.iss==authWellKnownEndpoints_issuer||(this.oidcSecurityCommon.logDebug("Validate_id_token_iss failed, dataIdToken.iss: "+dataIdToken.iss+" authWellKnownEndpoints issuer:"+authWellKnownEndpoints_issuer),!1)},OidcSecurityValidation.prototype.validate_id_token_aud=function(dataIdToken,aud){return dataIdToken.aud==aud||(this.oidcSecurityCommon.logDebug("Validate_id_token_aud failed, dataIdToken.aud: "+dataIdToken.aud+" client_id:"+aud),!1)},OidcSecurityValidation.prototype.validateStateFromHashCallback=function(state,local_state){return state==local_state||(this.oidcSecurityCommon.logDebug("ValidateStateFromHashCallback failed, state: "+state+" local_state:"+local_state),!1)},OidcSecurityValidation.prototype.validate_userdata_sub_id_token=function(id_token_sub,userdata_sub){return id_token_sub==userdata_sub||(this.oidcSecurityCommon.logDebug("validate_userdata_sub_id_token failed, id_token_sub: "+id_token_sub+" userdata_sub:"+userdata_sub),!1)},OidcSecurityValidation.prototype.getPayloadFromToken=function(token,encode){var data={};if(void 0!==token){var encoded=token.split(".")[1];if(encode)return encoded;data=JSON.parse(this.urlBase64Decode(encoded))}return data},OidcSecurityValidation.prototype.getHeaderFromToken=function(token,encode){var data={};if(void 0!==token){var encoded=token.split(".")[0];if(encode)return encoded;data=JSON.parse(this.urlBase64Decode(encoded))}return data},OidcSecurityValidation.prototype.getSignatureFromToken=function(token,encode){var data={};if(void 0!==token){var encoded=token.split(".")[2];if(encode)return encoded;data=JSON.parse(this.urlBase64Decode(encoded))}return data},OidcSecurityValidation.prototype.validate_signature_id_token=function(id_token,jwtkeys){if(!jwtkeys||!jwtkeys.keys)return!1;var header_data=this.getHeaderFromToken(id_token,!1),kid=header_data.kid;if("RS256"!=header_data.alg)return this.oidcSecurityCommon.logWarning("Only RS256 supported"),!1;var isValid=!1;if(header_data.hasOwnProperty("kid"))for(var _d=0,_e=jwtkeys.keys;_d<_e.length;_d++){var key=_e[_d];if(key.kid==kid){var publickey=jsrsasign.KEYUTIL.getKey(key);return isValid=jsrsasign.KJUR.jws.JWS.verify(id_token,publickey,["RS256"]),isValid||this.oidcSecurityCommon.logWarning("incorrect Signature, validation failed for id_token"),isValid}}else{for(var amountOfMatchingKeys=0,_i=0,_a=jwtkeys.keys;_i<_a.length;_i++){var key=_a[_i];"RSA"==key.kty&&"sig"==key.use&&(amountOfMatchingKeys+=1)}if(0==amountOfMatchingKeys)return this.oidcSecurityCommon.logWarning("no keys found, incorrect Signature, validation failed for id_token"),!1;if(amountOfMatchingKeys>1)return this.oidcSecurityCommon.logWarning("no ID Token kid claim in JOSE header and multiple supplied in jwks_uri"),!1;for(var _b=0,_c=jwtkeys.keys;_b<_c.length;_b++){var key=_c[_b];if("RSA"==key.kty&&"sig"==key.use){var publickey=jsrsasign.KEYUTIL.getKey(key);return isValid=jsrsasign.KJUR.jws.JWS.verify(id_token,publickey,["RS256"]),isValid||this.oidcSecurityCommon.logWarning("incorrect Signature, validation failed for id_token"),isValid}}}return isValid},OidcSecurityValidation.prototype.config_validate_response_type=function(response_type){return"id_token token"===response_type||"id_token"===response_type||(this.oidcSecurityCommon.logWarning("module configure incorrect, invalid response_type:"+response_type),!1)},OidcSecurityValidation.prototype.validate_id_token_at_hash=function(access_token,at_hash){this.oidcSecurityCommon.logDebug("From the server:"+at_hash);var testdata=this.generate_at_hash(""+access_token);if(this.oidcSecurityCommon.logDebug("client validation not decoded:"+testdata),testdata==at_hash)return!0;var testValue=this.generate_at_hash(""+decodeURIComponent(access_token));return this.oidcSecurityCommon.logDebug("-gen access--"+testValue),testValue==at_hash},OidcSecurityValidation.prototype.generate_at_hash=function(access_token){var hash=jsrsasign.KJUR.crypto.Util.hashString(access_token,"sha256"),first128bits=hash.substr(0,hash.length/2);return jsrsasign.hextob64u(first128bits)},OidcSecurityValidation.prototype.getTokenExpirationDate=function(dataIdToken){if(!dataIdToken.hasOwnProperty("exp"))return new Date;var date=new Date(0);return date.setUTCSeconds(dataIdToken.exp),date},OidcSecurityValidation.prototype.urlBase64Decode=function(str){var output=str.replace("-","+").replace("_","/");switch(output.length%4){case 0:break;case 2:output+="==";break;case 3:output+="=";break;default:throw"Illegal base64url string!"}return window.atob(output)},OidcSecurityValidation}();OidcSecurityValidation.decorators=[{type:_angular_core.Injectable}],OidcSecurityValidation.ctorParameters=function(){return[{type:OidcSecurityCommon}]};var AuthWellKnownEndpoints=function(){function AuthWellKnownEndpoints(http,authConfiguration,oidcSecurityCommon){var _this=this;this.http=http,this.authConfiguration=authConfiguration,this.oidcSecurityCommon=oidcSecurityCommon,this.onWellKnownEndpointsLoaded=new _angular_core.EventEmitter(!0),this.getWellKnownEndpoints=function(){var headers=new _angular_http.Headers;headers.append("Content-Type","application/json"),headers.append("Accept","application/json");var url=_this.authConfiguration.stsServer+"/.well-known/openid-configuration";return _this.authConfiguration.override_well_known_configuration&&(url=_this.authConfiguration.override_well_known_configuration_url),_this.http.get(url,{headers:headers,body:""}).map(function(res){return res.json()})}}return AuthWellKnownEndpoints.prototype.setupModule=function(){var _this=this,data=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_well_known_endpoints);this.oidcSecurityCommon.logDebug(data),data&&""!==data?(this.oidcSecurityCommon.logDebug("AuthWellKnownEndpoints already defined"),this.issuer=data.issuer,this.jwks_uri=data.jwks_uri,this.authorization_endpoint=data.authorization_endpoint,this.token_endpoint=data.token_endpoint,this.userinfo_endpoint=data.userinfo_endpoint,data.end_session_endpoint&&(this.end_session_endpoint=data.end_session_endpoint),data.check_session_iframe&&(this.check_session_iframe=data.check_session_iframe),data.revocation_endpoint&&(this.revocation_endpoint=data.revocation_endpoint),data.introspection_endpoint&&(this.introspection_endpoint=data.introspection_endpoint),this.onWellKnownEndpointsLoaded.emit()):(this.oidcSecurityCommon.logDebug("AuthWellKnownEndpoints first time, get from the server"),this.getWellKnownEndpoints().subscribe(function(data){_this.issuer=data.issuer,_this.jwks_uri=data.jwks_uri,_this.authorization_endpoint=data.authorization_endpoint,_this.token_endpoint=data.token_endpoint,_this.userinfo_endpoint=data.userinfo_endpoint,data.end_session_endpoint&&(_this.end_session_endpoint=data.end_session_endpoint),data.check_session_iframe&&(_this.check_session_iframe=data.check_session_iframe),data.revocation_endpoint&&(_this.revocation_endpoint=data.revocation_endpoint),data.introspection_endpoint&&(_this.introspection_endpoint=data.introspection_endpoint),_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_well_known_endpoints,data),_this.oidcSecurityCommon.logDebug(data),_this.onWellKnownEndpointsLoaded.emit()}))},AuthWellKnownEndpoints}();AuthWellKnownEndpoints.decorators=[{type:_angular_core.Injectable}],AuthWellKnownEndpoints.ctorParameters=function(){return[{type:_angular_http.Http},{type:AuthConfiguration},{type:OidcSecurityCommon}]},AuthWellKnownEndpoints.propDecorators={onWellKnownEndpointsLoaded:[{type:_angular_core.Output}]};var OidcSecurityCheckSession=function(){function OidcSecurityCheckSession(authConfiguration,oidcSecurityCommon,authWellKnownEndpoints){this.authConfiguration=authConfiguration,this.oidcSecurityCommon=oidcSecurityCommon,this.authWellKnownEndpoints=authWellKnownEndpoints,this.onCheckSessionChanged=new _angular_core.EventEmitter(!0)}return OidcSecurityCheckSession.prototype.init=function(){var _this=this;return window.parent.document.getElementById("myiFrameForCheckSession")?rxjs_Observable.Observable.empty():(this.sessionIframe=window.document.createElement("iframe"),this.sessionIframe.id="myiFrameForCheckSession",this.oidcSecurityCommon.logDebug(this.sessionIframe),this.sessionIframe.style.display="none",this.sessionIframe.src=this.authWellKnownEndpoints.check_session_iframe,window.document.body.appendChild(this.sessionIframe),this.iframeMessageEvent=this.messageHandler.bind(this),window.addEventListener("message",this.iframeMessageEvent,!1),rxjs_Observable.Observable.create(function(observer){_this.sessionIframe.onload=function(){observer.next(_this),observer.complete()}}))},OidcSecurityCheckSession.prototype.pollServerSession=function(clientId){var _this=this,source=rxjs_Observable.Observable.timer(3e3,3e3).timeInterval().pluck("interval").take(1e4);source.subscribe(function(){_this.oidcSecurityCommon.logDebug(_this.sessionIframe);var session_state=_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_session_state);session_state&&""!==session_state&&_this.sessionIframe.contentWindow.postMessage(clientId+" "+session_state,_this.authConfiguration.stsServer)},function(err){_this.oidcSecurityCommon.logError("pollServerSession error: "+err)},function(){_this.oidcSecurityCommon.logDebug("checksession pollServerSession completed")})},OidcSecurityCheckSession.prototype.messageHandler=function(e){e.origin===this.authConfiguration.stsServer&&e.source===this.sessionIframe.contentWindow&&("error"===e.data?this.oidcSecurityCommon.logWarning("error from checksession messageHandler"):"changed"===e.data?this.onCheckSessionChanged.emit():this.oidcSecurityCommon.logDebug(e.data+" from checksession messageHandler"))},OidcSecurityCheckSession}();OidcSecurityCheckSession.decorators=[{type:_angular_core.Injectable}],OidcSecurityCheckSession.ctorParameters=function(){return[{type:AuthConfiguration},{type:OidcSecurityCommon},{type:AuthWellKnownEndpoints}]},OidcSecurityCheckSession.propDecorators={onCheckSessionChanged:[{type:_angular_core.Output}]};var OidcSecuritySilentRenew=function(){function OidcSecuritySilentRenew(oidcSecurityCommon){this.oidcSecurityCommon=oidcSecurityCommon}return OidcSecuritySilentRenew.prototype.initRenew=function(){var existsparent=window.parent.document.getElementById("myiFrameForSilentRenew"),exists=window.document.getElementById("myiFrameForSilentRenew");existsparent?this.sessionIframe=existsparent:exists&&(this.sessionIframe=exists),exists||existsparent||(this.sessionIframe=window.document.createElement("iframe"),this.sessionIframe.id="myiFrameForSilentRenew",this.oidcSecurityCommon.logDebug(this.sessionIframe),this.sessionIframe.style.display="none",window.document.body.appendChild(this.sessionIframe))},OidcSecuritySilentRenew.prototype.startRenew=function(url){var _this=this,existsparent=window.parent.document.getElementById("myiFrameForSilentRenew"),exists=window.document.getElementById("myiFrameForSilentRenew");return existsparent?this.sessionIframe=existsparent:exists&&(this.sessionIframe=exists),this.oidcSecurityCommon.logDebug("startRenew for URL:"+url),this.sessionIframe.src=url,rxjs_Observable.Observable.create(function(observer){_this.sessionIframe.onload=function(){observer.next(_this),observer.complete()}})},OidcSecuritySilentRenew}();OidcSecuritySilentRenew.decorators=[{type:_angular_core.Injectable}],OidcSecuritySilentRenew.ctorParameters=function(){return[{type:OidcSecurityCommon}]};var OidcSecurityUserService=function(){function OidcSecurityUserService(http,authConfiguration,oidcSecurityCommon,authWellKnownEndpoints){var _this=this;this.http=http,this.authConfiguration=authConfiguration,this.oidcSecurityCommon=oidcSecurityCommon,this.authWellKnownEndpoints=authWellKnownEndpoints,this.getIdentityUserData=function(){var headers=new _angular_http.Headers;headers.append("Content-Type","application/json"),headers.append("Accept","application/json");var token=_this.oidcSecurityCommon.getAccessToken();return""!==token&&headers.append("Authorization","Bearer "+decodeURIComponent(token)),_this.http.get(_this.authWellKnownEndpoints.userinfo_endpoint,{headers:headers,body:""}).map(function(res){return res.json()})}}return OidcSecurityUserService.prototype.setupModule=function(){""!==this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_user_data)&&(this.userData=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_user_data))},OidcSecurityUserService.prototype.initUserData=function(){var _this=this;return this.getIdentityUserData().map(function(data){return _this.userData=data})},OidcSecurityUserService.prototype.handleError=function(error){this.oidcSecurityCommon.logError(error)},OidcSecurityUserService}();OidcSecurityUserService.decorators=[{type:_angular_core.Injectable}],OidcSecurityUserService.ctorParameters=function(){return[{type:_angular_http.Http},{type:AuthConfiguration},{type:OidcSecurityCommon},{type:AuthWellKnownEndpoints}]};var OidcSecurityService=function(){function OidcSecurityService(platformId,http,authConfiguration,router,oidcSecurityCheckSession,oidcSecuritySilentRenew,oidcSecurityUserService,oidcSecurityCommon,authWellKnownEndpoints){this.platformId=platformId,this.http=http,this.authConfiguration=authConfiguration,this.router=router,this.oidcSecurityCheckSession=oidcSecurityCheckSession,this.oidcSecuritySilentRenew=oidcSecuritySilentRenew,this.oidcSecurityUserService=oidcSecurityUserService,this.oidcSecurityCommon=oidcSecurityCommon,this.authWellKnownEndpoints=authWellKnownEndpoints,this.onUserDataLoaded=new _angular_core.EventEmitter(!0),this.onModuleSetup=new _angular_core.EventEmitter(!0),this.authWellKnownEndpointsLoaded=!1}return OidcSecurityService.prototype.setupModule=function(openIDImplicitFlowConfiguration){var _this=this;this.authConfiguration.init(openIDImplicitFlowConfiguration),this.oidcSecurityValidation=new OidcSecurityValidation(this.oidcSecurityCommon),this.oidcSecurityCheckSession.onCheckSessionChanged.subscribe(function(){_this.onCheckSessionChanged()}),this.authWellKnownEndpoints.onWellKnownEndpointsLoaded.subscribe(function(){_this.onWellKnownEndpointsLoaded()}),this.oidcSecurityCommon.setupModule(),this.oidcSecurityUserService.setupModule(),this.headers=new _angular_http.Headers,this.headers.append("Content-Type","application/json"),this.headers.append("Accept","application/json"),""!==this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_is_authorized)&&(this.isAuthorized=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_is_authorized)),this.oidcSecurityCommon.logDebug("STS server: "+this.authConfiguration.stsServer),_angular_common.isPlatformBrowser(this.platformId)&&(this.authWellKnownEndpoints.setupModule(),this.authConfiguration.silent_renew&&this.oidcSecuritySilentRenew.initRenew(),this.authConfiguration.start_checksession&&this.oidcSecurityCheckSession.init().subscribe(function(){_this.oidcSecurityCheckSession.pollServerSession(_this.authConfiguration.client_id)})),this.onModuleSetup.emit()},OidcSecurityService.prototype.getToken=function(){var token=this.oidcSecurityCommon.getAccessToken();return decodeURIComponent(token)},OidcSecurityService.prototype.getUserData=function(){return this.isAuthorized||this.oidcSecurityCommon.logError("User must be logged in before you can get the user data!"),this.oidcSecurityUserService.userData||(this.oidcSecurityUserService.userData=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_user_data)),this.oidcSecurityUserService.userData},OidcSecurityService.prototype.authorize=function(){var data=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_well_known_endpoints);if(data&&""!==data&&(this.authWellKnownEndpointsLoaded=!0),!this.authWellKnownEndpointsLoaded)return void this.oidcSecurityCommon.logError("Well known endpoints must be loaded before user can login!");if(this.oidcSecurityValidation.config_validate_response_type(this.authConfiguration.response_type)){this.resetAuthorizationData(!1),this.oidcSecurityCommon.logDebug("BEGIN Authorize, no auth data");var nonce="N"+Math.random()+Date.now(),state=Date.now()+""+Math.random();this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_state_control,state),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_nonce,nonce),this.oidcSecurityCommon.logDebug("AuthorizedController created. local state: "+this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_auth_state_control));var url=this.createAuthorizeUrl(nonce,state);window.location.href=url}},OidcSecurityService.prototype.authorizedCallback=function(){var _this=this,silentRenew=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_silent_renew_running),isRenewProcess="running"===silentRenew;this.oidcSecurityCommon.logDebug("BEGIN authorizedCallback, no auth data"),this.resetAuthorizationData(isRenewProcess);var hash=window.location.hash.substr(1),result=hash.split("&").reduce(function(result,item){var parts=item.split("=");return result[parts[0]]=parts[1],result},{});this.oidcSecurityCommon.logDebug(result),this.oidcSecurityCommon.logDebug("authorizedCallback created, begin token validation");var decoded_id_token,access_token="",id_token="",authResponseIsValid=!1;this.getSigningKeys().subscribe(function(jwtKeys){if(_this.jwtKeys=jwtKeys,!result.error)if(_this.oidcSecurityValidation.validateStateFromHashCallback(result.state,_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_auth_state_control))){"id_token token"===_this.authConfiguration.response_type&&(access_token=result.access_token),id_token=result.id_token;decoded_id_token=_this.oidcSecurityValidation.getPayloadFromToken(id_token,!1),_this.oidcSecurityValidation.getHeaderFromToken(id_token,!1),_this.oidcSecurityValidation.validate_signature_id_token(id_token,_this.jwtKeys)?_this.oidcSecurityValidation.validate_id_token_nonce(decoded_id_token,_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_auth_nonce))?_this.oidcSecurityValidation.validate_required_id_token(decoded_id_token)?_this.oidcSecurityValidation.validate_id_token_iat_max_offset(decoded_id_token,_this.authConfiguration.max_id_token_iat_offset_allowed_in_seconds)?_this.oidcSecurityValidation.validate_id_token_iss(decoded_id_token,_this.authWellKnownEndpoints.issuer)?_this.oidcSecurityValidation.validate_id_token_aud(decoded_id_token,_this.authConfiguration.client_id)?_this.oidcSecurityValidation.validate_id_token_exp_not_expired(decoded_id_token)?"id_token token"===_this.authConfiguration.response_type?_this.oidcSecurityValidation.validate_id_token_at_hash(access_token,decoded_id_token.at_hash)||!access_token?(authResponseIsValid=!0,_this.successful_validation()):_this.oidcSecurityCommon.logWarning("authorizedCallback incorrect at_hash"):(authResponseIsValid=!0,_this.successful_validation()):_this.oidcSecurityCommon.logWarning("authorizedCallback token expired"):_this.oidcSecurityCommon.logWarning("authorizedCallback incorrect aud"):_this.oidcSecurityCommon.logWarning("authorizedCallback incorrect iss does not match authWellKnownEndpoints issuer"):_this.oidcSecurityCommon.logWarning("authorizedCallback Validation, iat rejected id_token was issued too far away from the current time"):_this.oidcSecurityCommon.logDebug("authorizedCallback Validation, one of the REQUIRED properties missing from id_token"):_this.oidcSecurityCommon.logWarning("authorizedCallback incorrect nonce"):_this.oidcSecurityCommon.logDebug("authorizedCallback Signature validation failed id_token")}else _this.oidcSecurityCommon.logWarning("authorizedCallback incorrect state");_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_silent_renew_running,""),authResponseIsValid?(_this.setAuthorizationData(access_token,id_token),"id_token token"===_this.authConfiguration.response_type?isRenewProcess?_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_session_state,result.session_state):_this.oidcSecurityUserService.initUserData().subscribe(function(){_this.oidcSecurityCommon.logDebug("authorizedCallback id_token token flow"),_this.oidcSecurityValidation.validate_userdata_sub_id_token(decoded_id_token.sub,_this.oidcSecurityUserService.userData.sub)?(_this.onUserDataLoaded.emit(),
_this.oidcSecurityCommon.logDebug(_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_access_token)),_this.oidcSecurityCommon.logDebug(_this.oidcSecurityUserService.userData),_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_session_state,result.session_state),_this.runTokenValidatation(),_this.router.navigate([_this.authConfiguration.startup_route])):(_this.oidcSecurityCommon.logWarning("authorizedCallback, User data sub does not match sub in id_token"),_this.oidcSecurityCommon.logDebug("authorizedCallback, token(s) validation failed, resetting"),_this.resetAuthorizationData(!1),_this.router.navigate([_this.authConfiguration.unauthorized_route]))}):(_this.oidcSecurityCommon.logDebug("authorizedCallback id_token flow"),_this.oidcSecurityCommon.logDebug(_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_access_token)),_this.oidcSecurityUserService.userData=decoded_id_token,_this.oidcSecurityCommon.store(_this.oidcSecurityCommon.storage_session_state,result.session_state),isRenewProcess||_this.runTokenValidatation(),_this.router.navigate([_this.authConfiguration.startup_route]))):(_this.oidcSecurityCommon.logDebug("authorizedCallback, token(s) validation failed, resetting"),_this.resetAuthorizationData(!1),_this.router.navigate([_this.authConfiguration.unauthorized_route]))})},OidcSecurityService.prototype.logoff=function(){if(this.oidcSecurityCommon.logDebug("BEGIN Authorize, no auth data"),this.authWellKnownEndpoints.end_session_endpoint){var authorizationEndsessionUrl=this.authWellKnownEndpoints.end_session_endpoint,id_token_hint=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_id_token),post_logout_redirect_uri=this.authConfiguration.post_logout_redirect_uri,url=authorizationEndsessionUrl+"?id_token_hint="+encodeURI(id_token_hint)+"&post_logout_redirect_uri="+encodeURI(post_logout_redirect_uri);this.resetAuthorizationData(!1),this.authConfiguration.start_checksession&&this.checkSessionChanged?this.oidcSecurityCommon.logDebug("only local login cleaned up, server session has changed"):window.location.href=url}else this.resetAuthorizationData(!1),this.oidcSecurityCommon.logDebug("only local login cleaned up, no end_session_endpoint")},OidcSecurityService.prototype.successful_validation=function(){this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_nonce,""),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_state_control,""),this.oidcSecurityCommon.logDebug("AuthorizedCallback token(s) validated, continue")},OidcSecurityService.prototype.refreshSession=function(){this.oidcSecurityCommon.logDebug("BEGIN refresh session Authorize");var nonce="N"+Math.random()+Date.now(),state=Date.now()+""+Math.random();this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_state_control,state),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_nonce,nonce),this.oidcSecurityCommon.logDebug("RefreshSession created. adding myautostate: "+this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_auth_state_control));var url=this.createAuthorizeUrl(nonce,state);this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_silent_renew_running,"running"),this.oidcSecuritySilentRenew.startRenew(url)},OidcSecurityService.prototype.setAuthorizationData=function(access_token,id_token){""!==this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_access_token)&&this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_access_token,""),this.oidcSecurityCommon.logDebug(access_token),this.oidcSecurityCommon.logDebug(id_token),this.oidcSecurityCommon.logDebug("storing to storage, getting the roles"),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_access_token,access_token),this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_id_token,id_token),this.isAuthorized=!0,this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_is_authorized,!0)},OidcSecurityService.prototype.createAuthorizeUrl=function(nonce,state){var authorizationUrl=this.authWellKnownEndpoints.authorization_endpoint,client_id=this.authConfiguration.client_id,redirect_uri=this.authConfiguration.redirect_url,response_type=this.authConfiguration.response_type,scope=this.authConfiguration.scope;return authorizationUrl+"?response_type="+encodeURI(response_type)+"&client_id="+encodeURI(client_id)+"&redirect_uri="+encodeURI(redirect_uri)+"&scope="+encodeURI(scope)+"&nonce="+encodeURI(nonce)+"&state="+encodeURI(state)},OidcSecurityService.prototype.resetAuthorizationData=function(isRenewProcess){isRenewProcess||(this.isAuthorized=!1,this.oidcSecurityCommon.resetStorageData(isRenewProcess),this.checkSessionChanged=!1)},OidcSecurityService.prototype.handleError=function(error){if(this.oidcSecurityCommon.logError(error),403==error.status)this.router.navigate([this.authConfiguration.forbidden_route]);else if(401==error.status){var silentRenew=this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_silent_renew_running);this.resetAuthorizationData(silentRenew),this.router.navigate([this.authConfiguration.unauthorized_route])}},OidcSecurityService.prototype.onCheckSessionChanged=function(){this.oidcSecurityCommon.logDebug("onCheckSessionChanged"),this.checkSessionChanged=!0},OidcSecurityService.prototype.onWellKnownEndpointsLoaded=function(){this.oidcSecurityCommon.logDebug("onWellKnownEndpointsLoaded"),this.authWellKnownEndpointsLoaded=!0},OidcSecurityService.prototype.runGetSigningKeys=function(){var _this=this;this.getSigningKeys().subscribe(function(jwtKeys){return _this.jwtKeys=jwtKeys},function(error){return _this.errorMessage=error})},OidcSecurityService.prototype.getSigningKeys=function(){return this.oidcSecurityCommon.logDebug("jwks_uri: "+this.authWellKnownEndpoints.jwks_uri),this.http.get(this.authWellKnownEndpoints.jwks_uri).map(this.extractData).catch(this.handleErrorGetSigningKeys)},OidcSecurityService.prototype.extractData=function(res){return res.json()},OidcSecurityService.prototype.handleErrorGetSigningKeys=function(error){var errMsg;if(error instanceof _angular_http.Response){var body=error.json()||"",err=body.error||JSON.stringify(body);errMsg=error.status+" - "+(error.statusText||"")+" "+err}else errMsg=error.message?error.message:error.toString();return console.error(errMsg),rxjs_Rx.Observable.throw(errMsg)},OidcSecurityService.prototype.runTokenValidatation=function(){var _this=this,source=rxjs_Rx.Observable.timer(3e3,3e3).timeInterval().pluck("interval").take(1e4);source.subscribe(function(){_this.isAuthorized&&_this.oidcSecurityValidation.isTokenExpired(_this.oidcSecurityCommon.retrieve(_this.oidcSecurityCommon.storage_id_token))&&(_this.oidcSecurityCommon.logDebug("IsAuthorized: id_token isTokenExpired, start silent renew if active"),_this.authConfiguration.silent_renew?_this.refreshSession():_this.resetAuthorizationData(!1))},function(err){_this.oidcSecurityCommon.logError("Error: "+err)},function(){_this.oidcSecurityCommon.logDebug("Completed")})},OidcSecurityService}();OidcSecurityService.decorators=[{type:_angular_core.Injectable}],OidcSecurityService.ctorParameters=function(){return[{type:Object,decorators:[{type:_angular_core.Inject,args:[_angular_core.PLATFORM_ID]}]},{type:_angular_http.Http},{type:AuthConfiguration},{type:_angular_router.Router},{type:OidcSecurityCheckSession},{type:OidcSecuritySilentRenew},{type:OidcSecurityUserService},{type:OidcSecurityCommon},{type:AuthWellKnownEndpoints}]},OidcSecurityService.propDecorators={onUserDataLoaded:[{type:_angular_core.Output}],onModuleSetup:[{type:_angular_core.Output}]};var AuthModule=function(){function AuthModule(){}return AuthModule.forRoot=function(token){return void 0===token&&(token={}),{ngModule:AuthModule,providers:[OidcSecurityService,OidcSecurityValidation,OidcSecurityCheckSession,OidcSecuritySilentRenew,OidcSecurityUserService,OidcSecurityCommon,AuthConfiguration,DefaultConfiguration,AuthWellKnownEndpoints,{provide:OidcSecurityStorage,useClass:token.storage||BrowserStorage}]}},AuthModule.forChild=function(token){return void 0===token&&(token={}),{ngModule:AuthModule,providers:[OidcSecurityService,OidcSecurityValidation,OidcSecurityCheckSession,OidcSecuritySilentRenew,OidcSecurityUserService,OidcSecurityCommon,AuthConfiguration,AuthWellKnownEndpoints,{provide:OidcSecurityStorage,useClass:token.storage||BrowserStorage}]}},AuthModule}();AuthModule.decorators=[{type:_angular_core.NgModule}],AuthModule.ctorParameters=function(){return[]},exports.OidcSecurityService=OidcSecurityService,exports.OidcSecurityValidation=OidcSecurityValidation,exports.OidcSecurityCheckSession=OidcSecurityCheckSession,exports.OidcSecuritySilentRenew=OidcSecuritySilentRenew,exports.OidcSecurityUserService=OidcSecurityUserService,exports.OidcSecurityCommon=OidcSecurityCommon,exports.OidcSecurityStorage=OidcSecurityStorage,exports.BrowserStorage=BrowserStorage,exports.AuthWellKnownEndpoints=AuthWellKnownEndpoints,exports.AuthConfiguration=AuthConfiguration,exports.OpenIDImplicitFlowConfiguration=OpenIDImplicitFlowConfiguration,exports.DefaultConfiguration=DefaultConfiguration,exports.AuthModule=AuthModule,Object.defineProperty(exports,"__esModule",{value:!0})});
//# sourceMappingURL=angular-auth-oidc-client.umd.min.js.map

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":3,"metadata":{"OidcSecurityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"onUserDataLoaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID"}]}],null,null,null,null,null,null,null,null],"parameters":[{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/http","name":"Http"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","name":"OidcSecurityCheckSession"},{"__symbolic":"reference","name":"OidcSecuritySilentRenew"},{"__symbolic":"reference","name":"OidcSecurityUserService"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"}]}],"setupModule":[{"__symbolic":"method"}],"getToken":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"authorize":[{"__symbolic":"method"}],"authorizedCallback":[{"__symbolic":"method"}],"logoff":[{"__symbolic":"method"}],"successful_validation":[{"__symbolic":"method"}],"refreshSession":[{"__symbolic":"method"}],"setAuthorizationData":[{"__symbolic":"method"}],"createAuthorizeUrl":[{"__symbolic":"method"}],"resetAuthorizationData":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}],"onCheckSessionChanged":[{"__symbolic":"method"}],"onWellKnownEndpointsLoaded":[{"__symbolic":"method"}],"runGetSigningKeys":[{"__symbolic":"method"}],"getSigningKeys":[{"__symbolic":"method"}],"extractData":[{"__symbolic":"method"}],"handleErrorGetSigningKeys":[{"__symbolic":"method"}],"runTokenValidatation":[{"__symbolic":"method"}]}},"OidcSecurityValidation":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OidcSecurityCommon"}]}],"isTokenExpired":[{"__symbolic":"method"}],"validate_id_token_exp_not_expired":[{"__symbolic":"method"}],"validate_required_id_token":[{"__symbolic":"method"}],"validate_id_token_iat_max_offset":[{"__symbolic":"method"}],"validate_id_token_nonce":[{"__symbolic":"method"}],"validate_id_token_iss":[{"__symbolic":"method"}],"validate_id_token_aud":[{"__symbolic":"method"}],"validateStateFromHashCallback":[{"__symbolic":"method"}],"validate_userdata_sub_id_token":[{"__symbolic":"method"}],"getPayloadFromToken":[{"__symbolic":"method"}],"getHeaderFromToken":[{"__symbolic":"method"}],"getSignatureFromToken":[{"__symbolic":"method"}],"validate_signature_id_token":[{"__symbolic":"method"}],"config_validate_response_type":[{"__symbolic":"method"}],"validate_id_token_at_hash":[{"__symbolic":"method"}],"generate_at_hash":[{"__symbolic":"method"}],"getTokenExpirationDate":[{"__symbolic":"method"}],"urlBase64Decode":[{"__symbolic":"method"}]}},"OidcSecurityCheckSession":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"onCheckSessionChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"}]}],"init":[{"__symbolic":"method"}],"pollServerSession":[{"__symbolic":"method"}],"messageHandler":[{"__symbolic":"method"}]}},"OidcSecuritySilentRenew":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OidcSecurityCommon"}]}],"initRenew":[{"__symbolic":"method"}],"startRenew":[{"__symbolic":"method"}]}},"OidcSecurityUserService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/http","name":"Http"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"}]}],"setupModule":[{"__symbolic":"method"}],"initUserData":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}]}},"OidcSecurityCommon":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"OidcSecurityStorage"}]}],"setupModule":[{"__symbolic":"method"}],"retrieve":[{"__symbolic":"method"}],"store":[{"__symbolic":"method"}],"resetStorageData":[{"__symbolic":"method"}],"getAccessToken":[{"__symbolic":"method"}],"logError":[{"__symbolic":"method"}],"logWarning":[{"__symbolic":"method"}],"logDebug":[{"__symbolic":"method"}]}},"OidcSecurityStorage":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"read":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}]}},"BrowserStorage":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"}]}],"read":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}]}},"AuthWellKnownEndpoints":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"onWellKnownEndpointsLoaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/http","name":"Http"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"OidcSecurityCommon"}]}],"setupModule":[{"__symbolic":"method"}]}},"AuthConfiguration":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DefaultConfiguration"}]}],"init":[{"__symbolic":"method"}]}},"OpenIDImplicitFlowConfiguration":{"__symbolic":"class","members":{}},"DefaultConfiguration":{"__symbolic":"class","members":{}},"AuthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"}}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["token"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AuthModule"},"providers":[{"__symbolic":"reference","name":"OidcSecurityService"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"OidcSecurityCheckSession"},{"__symbolic":"reference","name":"OidcSecuritySilentRenew"},{"__symbolic":"reference","name":"OidcSecurityUserService"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"DefaultConfiguration"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"},{"provide":{"__symbolic":"reference","name":"OidcSecurityStorage"},"useClass":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"storage"},"right":{"__symbolic":"reference","name":"BrowserStorage"}}}]}},"forChild":{"__symbolic":"function","parameters":["token"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AuthModule"},"providers":[{"__symbolic":"reference","name":"OidcSecurityService"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"OidcSecurityCheckSession"},{"__symbolic":"reference","name":"OidcSecuritySilentRenew"},{"__symbolic":"reference","name":"OidcSecurityUserService"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"},{"provide":{"__symbolic":"reference","name":"OidcSecurityStorage"},"useClass":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"storage"},"right":{"__symbolic":"reference","name":"BrowserStorage"}}}]}}}}},"origins":{"OidcSecurityService":"./src/services/oidc.security.service","OidcSecurityValidation":"./src/services/oidc.security.validation","OidcSecurityCheckSession":"./src/services/oidc.security.check-session","OidcSecuritySilentRenew":"./src/services/oidc.security.silent-renew","OidcSecurityUserService":"./src/services/oidc.security.user-service","OidcSecurityCommon":"./src/services/oidc.security.common","OidcSecurityStorage":"./src/services/oidc.security.storage","BrowserStorage":"./src/services/oidc.security.storage","AuthWellKnownEndpoints":"./src/services/auth.well-known-endpoints","AuthConfiguration":"./src/modules/auth.configuration","OpenIDImplicitFlowConfiguration":"./src/modules/auth.configuration","DefaultConfiguration":"./src/modules/auth.configuration","AuthModule":"./src/modules/auth.module"},"importAs":"angular-auth-oidc-client"}
{"__symbolic":"module","version":3,"metadata":{"OidcSecurityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"onUserDataLoaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onModuleSetup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID"}]}],null,null,null,null,null,null,null,null],"parameters":[{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/http","name":"Http"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","name":"OidcSecurityCheckSession"},{"__symbolic":"reference","name":"OidcSecuritySilentRenew"},{"__symbolic":"reference","name":"OidcSecurityUserService"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"}]}],"setupModule":[{"__symbolic":"method"}],"getToken":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"authorize":[{"__symbolic":"method"}],"authorizedCallback":[{"__symbolic":"method"}],"logoff":[{"__symbolic":"method"}],"successful_validation":[{"__symbolic":"method"}],"refreshSession":[{"__symbolic":"method"}],"setAuthorizationData":[{"__symbolic":"method"}],"createAuthorizeUrl":[{"__symbolic":"method"}],"resetAuthorizationData":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}],"onCheckSessionChanged":[{"__symbolic":"method"}],"onWellKnownEndpointsLoaded":[{"__symbolic":"method"}],"runGetSigningKeys":[{"__symbolic":"method"}],"getSigningKeys":[{"__symbolic":"method"}],"extractData":[{"__symbolic":"method"}],"handleErrorGetSigningKeys":[{"__symbolic":"method"}],"runTokenValidatation":[{"__symbolic":"method"}]}},"OidcSecurityValidation":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OidcSecurityCommon"}]}],"isTokenExpired":[{"__symbolic":"method"}],"validate_id_token_exp_not_expired":[{"__symbolic":"method"}],"validate_required_id_token":[{"__symbolic":"method"}],"validate_id_token_iat_max_offset":[{"__symbolic":"method"}],"validate_id_token_nonce":[{"__symbolic":"method"}],"validate_id_token_iss":[{"__symbolic":"method"}],"validate_id_token_aud":[{"__symbolic":"method"}],"validateStateFromHashCallback":[{"__symbolic":"method"}],"validate_userdata_sub_id_token":[{"__symbolic":"method"}],"getPayloadFromToken":[{"__symbolic":"method"}],"getHeaderFromToken":[{"__symbolic":"method"}],"getSignatureFromToken":[{"__symbolic":"method"}],"validate_signature_id_token":[{"__symbolic":"method"}],"config_validate_response_type":[{"__symbolic":"method"}],"validate_id_token_at_hash":[{"__symbolic":"method"}],"generate_at_hash":[{"__symbolic":"method"}],"getTokenExpirationDate":[{"__symbolic":"method"}],"urlBase64Decode":[{"__symbolic":"method"}]}},"OidcSecurityCheckSession":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"onCheckSessionChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"}]}],"init":[{"__symbolic":"method"}],"pollServerSession":[{"__symbolic":"method"}],"messageHandler":[{"__symbolic":"method"}]}},"OidcSecuritySilentRenew":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OidcSecurityCommon"}]}],"initRenew":[{"__symbolic":"method"}],"startRenew":[{"__symbolic":"method"}]}},"OidcSecurityUserService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/http","name":"Http"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"}]}],"setupModule":[{"__symbolic":"method"}],"initUserData":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}]}},"OidcSecurityCommon":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"OidcSecurityStorage"}]}],"setupModule":[{"__symbolic":"method"}],"retrieve":[{"__symbolic":"method"}],"store":[{"__symbolic":"method"}],"resetStorageData":[{"__symbolic":"method"}],"getAccessToken":[{"__symbolic":"method"}],"logError":[{"__symbolic":"method"}],"logWarning":[{"__symbolic":"method"}],"logDebug":[{"__symbolic":"method"}]}},"OidcSecurityStorage":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"read":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}]}},"BrowserStorage":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"}]}],"read":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}]}},"AuthWellKnownEndpoints":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"onWellKnownEndpointsLoaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/http","name":"Http"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"OidcSecurityCommon"}]}],"setupModule":[{"__symbolic":"method"}]}},"AuthConfiguration":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DefaultConfiguration"}]}],"init":[{"__symbolic":"method"}]}},"OpenIDImplicitFlowConfiguration":{"__symbolic":"class","members":{}},"DefaultConfiguration":{"__symbolic":"class","members":{}},"AuthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"}}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["token"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AuthModule"},"providers":[{"__symbolic":"reference","name":"OidcSecurityService"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"OidcSecurityCheckSession"},{"__symbolic":"reference","name":"OidcSecuritySilentRenew"},{"__symbolic":"reference","name":"OidcSecurityUserService"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"DefaultConfiguration"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"},{"provide":{"__symbolic":"reference","name":"OidcSecurityStorage"},"useClass":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"storage"},"right":{"__symbolic":"reference","name":"BrowserStorage"}}}]}},"forChild":{"__symbolic":"function","parameters":["token"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AuthModule"},"providers":[{"__symbolic":"reference","name":"OidcSecurityService"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"OidcSecurityCheckSession"},{"__symbolic":"reference","name":"OidcSecuritySilentRenew"},{"__symbolic":"reference","name":"OidcSecurityUserService"},{"__symbolic":"reference","name":"OidcSecurityCommon"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"},{"provide":{"__symbolic":"reference","name":"OidcSecurityStorage"},"useClass":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"storage"},"right":{"__symbolic":"reference","name":"BrowserStorage"}}}]}}}}},"origins":{"OidcSecurityService":"./src/services/oidc.security.service","OidcSecurityValidation":"./src/services/oidc.security.validation","OidcSecurityCheckSession":"./src/services/oidc.security.check-session","OidcSecuritySilentRenew":"./src/services/oidc.security.silent-renew","OidcSecurityUserService":"./src/services/oidc.security.user-service","OidcSecurityCommon":"./src/services/oidc.security.common","OidcSecurityStorage":"./src/services/oidc.security.storage","BrowserStorage":"./src/services/oidc.security.storage","AuthWellKnownEndpoints":"./src/services/auth.well-known-endpoints","AuthConfiguration":"./src/modules/auth.configuration","OpenIDImplicitFlowConfiguration":"./src/modules/auth.configuration","DefaultConfiguration":"./src/modules/auth.configuration","AuthModule":"./src/modules/auth.module"},"importAs":"angular-auth-oidc-client"}

@@ -1007,2 +1007,3 @@ import { EventEmitter, Inject, Injectable, NgModule, Output, PLATFORM_ID } from '@angular/core';

this.onUserDataLoaded = new EventEmitter(true);
this.onModuleSetup = new EventEmitter(true);
this.authWellKnownEndpointsLoaded = false;

@@ -1040,2 +1041,3 @@ }

}
this.onModuleSetup.emit();
}

@@ -1442,2 +1444,3 @@ /**

'onUserDataLoaded': [{ type: Output },],
'onModuleSetup': [{ type: Output },],
};

@@ -1444,0 +1447,0 @@

{
"name": "angular-auth-oidc-client",
"version": "1.2.1",
"version": "1.2.2",
"description": "An OpenID Connect Implicit Flow client for Angular",

@@ -5,0 +5,0 @@ "main": "./bundles/angular-auth-oidc-client.umd.js",

@@ -37,3 +37,3 @@ # angular-auth-oidc-client

``` javascript
"angular-auth-oidc-client": "1.2.1"
"angular-auth-oidc-client": "1.2.2"
```

@@ -40,0 +40,0 @@

@@ -23,2 +23,3 @@ import { EventEmitter } from '@angular/core';

onUserDataLoaded: EventEmitter<any>;
onModuleSetup: EventEmitter<any>;
checkSessionChanged: boolean;

@@ -25,0 +26,0 @@ isAuthorized: boolean;

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc