angular-auth-oidc-client
Advanced tools
Comparing version 9.0.8 to 10.0.0
@@ -6,9 +6,11 @@ /** | ||
export { OidcDataService as ɵa } from './lib/data-services/oidc-data.service'; | ||
export { IFrameService as ɵg } from './lib/services/existing-iframe.service'; | ||
export { ConfigurationProvider as ɵf } from './lib/services/auth-configuration.provider'; | ||
export { IFrameService as ɵi } from './lib/services/existing-iframe.service'; | ||
export { EqualityHelperService as ɵd } from './lib/services/oidc-equality-helper.service'; | ||
export { StateValidationService as ɵb } from './lib/services/oidc-security-state-validation.service'; | ||
export { LoggerService as ɵe } from './lib/services/oidc.logger.service'; | ||
export { OidcSecurityCheckSession as ɵf } from './lib/services/oidc.security.check-session'; | ||
export { OidcSecurityCheckSession as ɵh } from './lib/services/oidc.security.check-session'; | ||
export { OidcSecurityCommon as ɵc } from './lib/services/oidc.security.common'; | ||
export { OidcSecuritySilentRenew as ɵh } from './lib/services/oidc.security.silent-renew'; | ||
export { OidcSecurityUserService as ɵi } from './lib/services/oidc.security.user-service'; | ||
export { OidcSecuritySilentRenew as ɵj } from './lib/services/oidc.security.silent-renew'; | ||
export { OidcSecurityUserService as ɵk } from './lib/services/oidc.security.user-service'; | ||
export { PlatformProvider as ɵg } from './lib/services/platform.provider'; |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"AuthWellKnownEndpoints":{"__symbolic":"class","members":{"setWellKnownEndpoints":[{"__symbolic":"method"}]}},"AuthorizationResult":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthorizationState"},{"__symbolic":"reference","name":"ValidationResult"}]}]}},"AuthorizationState":{"authorized":"authorized","forbidden":"forbidden","unauthorized":"unauthorized"},"JwtKeys":{"__symbolic":"class","members":{}},"JwtKey":{"__symbolic":"class","members":{}},"ValidateStateResult":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[null,null,null,{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"ValidationResult"}]}]}},"ValidationResult":{"NotSet":"NotSet","StatesDoNotMatch":"StatesDoNotMatch","SignatureFailed":"SignatureFailed","IncorrectNonce":"IncorrectNonce","RequiredPropertyMissing":"RequiredPropertyMissing","MaxOffsetExpired":"MaxOffsetExpired","IssDoesNotMatchIssuer":"IssDoesNotMatchIssuer","NoAuthWellKnownEndPoints":"NoAuthWellKnownEndPoints","IncorrectAud":"IncorrectAud","TokenExpired":"TokenExpired","IncorrectAtHash":"IncorrectAtHash","Ok":"Ok","LoginRequired":"LoginRequired","SecureTokenServerError":"SecureTokenServerError"},"OpenIDImplicitFlowConfiguration":{"__symbolic":"class","members":{}},"AuthConfiguration":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":43,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":248,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":248,"character":24}]}]],"parameters":[{"__symbolic":"reference","name":"Object"}]}],"init":[{"__symbolic":"method"}]}},"AuthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1}}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["token"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AuthModule"},"providers":[{"__symbolic":"reference","name":"OidcConfigService"},{"__symbolic":"reference","name":"OidcSecurityService"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"TokenHelperService"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"AuthWellKnownEndpoints"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"provide":{"__symbolic":"reference","name":"OidcSecurityStorage"},"useClass":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"storage"},"right":{"__symbolic":"reference","name":"BrowserStorage"}}}]}}}},"Type":{"__symbolic":"interface"},"Token":{"__symbolic":"interface"},"OidcConfigService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":15,"character":45}]}],"load":[{"__symbolic":"method"}],"load_using_stsServer":[{"__symbolic":"method"}],"load_using_custom_stsServer":[{"__symbolic":"method"}]}},"OidcSecurityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":64,"character":24},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"TokenHelperService"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":72,"character":22},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":73,"character":37}]}],"setupModule":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"getIsModuleSetup":[{"__symbolic":"method"}],"getIsAuthorized":[{"__symbolic":"method"}],"getToken":[{"__symbolic":"method"}],"getIdToken":[{"__symbolic":"method"}],"getPayloadFromIdToken":[{"__symbolic":"method"}],"setState":[{"__symbolic":"method"}],"getState":[{"__symbolic":"method"}],"setCustomRequestParameters":[{"__symbolic":"method"}],"authorize":[{"__symbolic":"method"}],"authorizedCallbackWithCode":[{"__symbolic":"method"}],"requestTokensWithCode":[{"__symbolic":"method"}],"requestTokensWithCodeProcedure":[{"__symbolic":"method"}],"authorizedCodeFlowCallbackProcedure":[{"__symbolic":"method"}],"authorizedImplicitFlowCallbackProcedure":[{"__symbolic":"method"}],"authorizedImplicitFlowCallback":[{"__symbolic":"method"}],"redirectTo":[{"__symbolic":"method"}],"authorizedCallbackProcedure":[{"__symbolic":"method"}],"getUserinfo":[{"__symbolic":"method"}],"logoff":[{"__symbolic":"method"}],"refreshSession":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}],"startCheckingSilentRenew":[{"__symbolic":"method"}],"stopCheckingSilentRenew":[{"__symbolic":"method"}],"resetAuthorizationData":[{"__symbolic":"method"}],"getEndSessionUrl":[{"__symbolic":"method"}],"getValidatedStateResult":[{"__symbolic":"method"}],"setUserData":[{"__symbolic":"method"}],"setIsAuthorized":[{"__symbolic":"method"}],"setAuthorizationData":[{"__symbolic":"method"}],"createAuthorizeUrl":[{"__symbolic":"method"}],"createEndSessionUrl":[{"__symbolic":"method"}],"getSigningKeys":[{"__symbolic":"method"}],"handleErrorGetSigningKeys":[{"__symbolic":"method"}],"runTokenValidation":[{"__symbolic":"method"}],"silentRenewEventHandler":[{"__symbolic":"method"}]}},"OidcSecurityStorage":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"read":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}]}},"BrowserStorage":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"}]}],"read":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}]}},"OidcSecurityValidation":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TokenHelperService"},{"__symbolic":"reference","name":"ɵe"}]}],"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"}],"validate_signature_id_token":[{"__symbolic":"method"}],"config_validate_response_type":[{"__symbolic":"method"}],"validate_id_token_at_hash":[{"__symbolic":"method"}],"generate_at_hash":[{"__symbolic":"method"}],"generate_code_verifier":[{"__symbolic":"method"}]}},"TokenHelperService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"}]}],"getTokenExpirationDate":[{"__symbolic":"method"}],"getHeaderFromToken":[{"__symbolic":"method"}],"getPayloadFromToken":[{"__symbolic":"method"}],"getSignatureFromToken":[{"__symbolic":"method"}],"getPartOfToken":[{"__symbolic":"method"}],"urlBase64Decode":[{"__symbolic":"method"}],"tokenIsValid":[{"__symbolic":"method"}],"extractPartOfToken":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":6,"character":36}]}],"getWellknownEndpoints":[{"__symbolic":"method"}],"getIdentityUserData":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"TokenHelperService"},{"__symbolic":"reference","name":"ɵe"}]}],"setupModule":[{"__symbolic":"method"}],"validateState":[{"__symbolic":"method"}],"handleSuccessfulValidation":[{"__symbolic":"method"}],"handleUnsuccessfulValidation":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OidcSecurityStorage"}]}],"retrieve":[{"__symbolic":"method"}],"store":[{"__symbolic":"method"}],"resetStorageData":[{"__symbolic":"method"}],"getAccessToken":[{"__symbolic":"method"}],"getIdToken":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"areEqual":[{"__symbolic":"method"}],"oneValueIsStringAndTheOtherIsArray":[{"__symbolic":"method"}],"bothValuesAreObjects":[{"__symbolic":"method"}],"bothValuesAreStrings":[{"__symbolic":"method"}],"bothValuesAreArrays":[{"__symbolic":"method"}],"valueIsString":[{"__symbolic":"method"}],"valueIsObject":[{"__symbolic":"method"}],"arraysEqual":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"}]}],"logError":[{"__symbolic":"method"}],"logWarning":[{"__symbolic":"method"}],"logDebug":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthConfiguration"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":34,"character":22}]}],"setupModule":[{"__symbolic":"method"}],"doesSessionExist":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"startCheckingSession":[{"__symbolic":"method"}],"stopCheckingSession":[{"__symbolic":"method"}],"pollServerSession":[{"__symbolic":"method"}],"clearScheduledHeartBeat":[{"__symbolic":"method"}],"messageHandler":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"}]}],"getExistingIFrame":[{"__symbolic":"method"}],"addIFrameToWindowBody":[{"__symbolic":"method"}],"getIFrameFromParentWindow":[{"__symbolic":"method"}],"getIFrameFromWindow":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}]}],"initRenew":[{"__symbolic":"method"}],"startRenew":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"}]}],"setupModule":[{"__symbolic":"method"}],"initUserData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"setUserData":[{"__symbolic":"method"}],"getIdentityUserData":[{"__symbolic":"method"}]}}},"origins":{"AuthWellKnownEndpoints":"./lib/models/auth.well-known-endpoints","AuthorizationResult":"./lib/models/authorization-result","AuthorizationState":"./lib/models/authorization-state.enum","JwtKeys":"./lib/models/jwtkeys","JwtKey":"./lib/models/jwtkeys","ValidateStateResult":"./lib/models/validate-state-result.model","ValidationResult":"./lib/models/validation-result.enum","OpenIDImplicitFlowConfiguration":"./lib/modules/auth.configuration","AuthConfiguration":"./lib/modules/auth.configuration","AuthModule":"./lib/modules/auth.module","Type":"./lib/modules/auth.module","Token":"./lib/modules/auth.module","OidcConfigService":"./lib/services/oidc.security.config.service","OidcSecurityService":"./lib/services/oidc.security.service","OidcSecurityStorage":"./lib/services/oidc.security.storage","BrowserStorage":"./lib/services/oidc.security.storage","OidcSecurityValidation":"./lib/services/oidc.security.validation","TokenHelperService":"./lib/services/oidc-token-helper.service","ɵa":"./lib/data-services/oidc-data.service","ɵb":"./lib/services/oidc-security-state-validation.service","ɵc":"./lib/services/oidc.security.common","ɵd":"./lib/services/oidc-equality-helper.service","ɵe":"./lib/services/oidc.logger.service","ɵf":"./lib/services/oidc.security.check-session","ɵg":"./lib/services/existing-iframe.service","ɵh":"./lib/services/oidc.security.silent-renew","ɵi":"./lib/services/oidc.security.user-service"},"importAs":"angular-auth-oidc-client"} | ||
{"__symbolic":"module","version":4,"metadata":{"OpenIdConfiguration":{"__symbolic":"interface"},"OpenIdInternalConfiguration":{"__symbolic":"interface"},"AuthWellKnownEndpoints":{"__symbolic":"interface"},"AuthorizationResult":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthorizationState"},{"__symbolic":"reference","name":"ValidationResult"}]}]}},"AuthorizationState":{"authorized":"authorized","forbidden":"forbidden","unauthorized":"unauthorized"},"JwtKeys":{"__symbolic":"class","members":{}},"JwtKey":{"__symbolic":"class","members":{}},"ValidateStateResult":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[null,null,null,{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"ValidationResult"}]}]}},"ValidationResult":{"NotSet":"NotSet","StatesDoNotMatch":"StatesDoNotMatch","SignatureFailed":"SignatureFailed","IncorrectNonce":"IncorrectNonce","RequiredPropertyMissing":"RequiredPropertyMissing","MaxOffsetExpired":"MaxOffsetExpired","IssDoesNotMatchIssuer":"IssDoesNotMatchIssuer","NoAuthWellKnownEndPoints":"NoAuthWellKnownEndPoints","IncorrectAud":"IncorrectAud","TokenExpired":"TokenExpired","IncorrectAtHash":"IncorrectAtHash","Ok":"Ok","LoginRequired":"LoginRequired","SecureTokenServerError":"SecureTokenServerError"},"AuthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1}}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["token"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AuthModule"},"providers":[{"__symbolic":"reference","name":"OidcConfigService"},{"__symbolic":"reference","name":"OidcSecurityService"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"TokenHelperService"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"provide":{"__symbolic":"reference","name":"OidcSecurityStorage"},"useClass":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"storage"},"right":{"__symbolic":"reference","name":"BrowserStorage"}}}]}}}},"Type":{"__symbolic":"interface"},"Token":{"__symbolic":"interface"},"TokenHelperService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"}]}],"getTokenExpirationDate":[{"__symbolic":"method"}],"getHeaderFromToken":[{"__symbolic":"method"}],"getPayloadFromToken":[{"__symbolic":"method"}],"getSignatureFromToken":[{"__symbolic":"method"}],"getPartOfToken":[{"__symbolic":"method"}],"urlBase64Decode":[{"__symbolic":"method"}],"tokenIsValid":[{"__symbolic":"method"}],"extractPartOfToken":[{"__symbolic":"method"}]}},"ConfigResult":{"__symbolic":"interface"},"OidcConfigService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":18,"character":45}]}],"load":[{"__symbolic":"method"}],"load_using_stsServer":[{"__symbolic":"method"}],"load_using_custom_stsServer":[{"__symbolic":"method"}],"loadUsingConfiguration":[{"__symbolic":"method"}]}},"OidcSecurityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":24,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":63,"character":24},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"TokenHelperService"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":71,"character":22},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":72,"character":37},{"__symbolic":"reference","name":"ɵf"}]}],"setupModule":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"getIsModuleSetup":[{"__symbolic":"method"}],"getIsAuthorized":[{"__symbolic":"method"}],"getToken":[{"__symbolic":"method"}],"getIdToken":[{"__symbolic":"method"}],"getPayloadFromIdToken":[{"__symbolic":"method"}],"setState":[{"__symbolic":"method"}],"getState":[{"__symbolic":"method"}],"setCustomRequestParameters":[{"__symbolic":"method"}],"authorize":[{"__symbolic":"method"}],"authorizedCallbackWithCode":[{"__symbolic":"method"}],"requestTokensWithCode":[{"__symbolic":"method"}],"requestTokensWithCodeProcedure":[{"__symbolic":"method"}],"authorizedCodeFlowCallbackProcedure":[{"__symbolic":"method"}],"authorizedImplicitFlowCallbackProcedure":[{"__symbolic":"method"}],"authorizedImplicitFlowCallback":[{"__symbolic":"method"}],"redirectTo":[{"__symbolic":"method"}],"authorizedCallbackProcedure":[{"__symbolic":"method"}],"getUserinfo":[{"__symbolic":"method"}],"logoff":[{"__symbolic":"method"}],"refreshSession":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}],"startCheckingSilentRenew":[{"__symbolic":"method"}],"stopCheckingSilentRenew":[{"__symbolic":"method"}],"resetAuthorizationData":[{"__symbolic":"method"}],"getEndSessionUrl":[{"__symbolic":"method"}],"getValidatedStateResult":[{"__symbolic":"method"}],"setUserData":[{"__symbolic":"method"}],"setIsAuthorized":[{"__symbolic":"method"}],"setAuthorizationData":[{"__symbolic":"method"}],"createAuthorizeUrl":[{"__symbolic":"method"}],"createEndSessionUrl":[{"__symbolic":"method"}],"getSigningKeys":[{"__symbolic":"method"}],"handleErrorGetSigningKeys":[{"__symbolic":"method"}],"runTokenValidation":[{"__symbolic":"method"}],"silentRenewEventHandler":[{"__symbolic":"method"}]}},"OidcSecurityStorage":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"read":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}]}},"BrowserStorage":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵf"}]}],"read":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}]}},"OidcSecurityValidation":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TokenHelperService"},{"__symbolic":"reference","name":"ɵe"}]}],"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"}],"validate_signature_id_token":[{"__symbolic":"method"}],"config_validate_response_type":[{"__symbolic":"method"}],"validate_id_token_at_hash":[{"__symbolic":"method"}],"generate_at_hash":[{"__symbolic":"method"}],"generate_code_verifier":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":6,"character":36}]}],"getWellknownEndpoints":[{"__symbolic":"method"}],"getIdentityUserData":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"OidcSecurityValidation"},{"__symbolic":"reference","name":"TokenHelperService"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"}]}],"validateState":[{"__symbolic":"method"}],"handleSuccessfulValidation":[{"__symbolic":"method"}],"handleUnsuccessfulValidation":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OidcSecurityStorage"}]}],"retrieve":[{"__symbolic":"method"}],"store":[{"__symbolic":"method"}],"resetStorageData":[{"__symbolic":"method"}],"getAccessToken":[{"__symbolic":"method"}],"getIdToken":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"areEqual":[{"__symbolic":"method"}],"oneValueIsStringAndTheOtherIsArray":[{"__symbolic":"method"}],"bothValuesAreObjects":[{"__symbolic":"method"}],"bothValuesAreStrings":[{"__symbolic":"method"}],"bothValuesAreArrays":[{"__symbolic":"method"}],"valueIsString":[{"__symbolic":"method"}],"valueIsObject":[{"__symbolic":"method"}],"arraysEqual":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵf"}]}],"logError":[{"__symbolic":"method"}],"logWarning":[{"__symbolic":"method"}],"logDebug":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵg"}]}],"setup":[{"__symbolic":"method"}],"setSpecialCases":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":9,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":9,"character":24}]}]],"parameters":[{"__symbolic":"reference","name":"Object"}]}]},"statics":{"ngInjectableDef":{}}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":31,"character":22},{"__symbolic":"reference","name":"ɵf"}]}],"doesSessionExist":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"startCheckingSession":[{"__symbolic":"method"}],"stopCheckingSession":[{"__symbolic":"method"}],"pollServerSession":[{"__symbolic":"method"}],"clearScheduledHeartBeat":[{"__symbolic":"method"}],"messageHandler":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"}]}],"getExistingIFrame":[{"__symbolic":"method"}],"addIFrameToWindowBody":[{"__symbolic":"method"}],"getIFrameFromParentWindow":[{"__symbolic":"method"}],"getIFrameFromWindow":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵi"}]}],"initRenew":[{"__symbolic":"method"}],"startRenew":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"}]}],"initUserData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"setUserData":[{"__symbolic":"method"}],"getIdentityUserData":[{"__symbolic":"method"}]}}},"origins":{"OpenIdConfiguration":"./lib/models/auth.configuration","OpenIdInternalConfiguration":"./lib/models/auth.configuration","AuthWellKnownEndpoints":"./lib/models/auth.well-known-endpoints","AuthorizationResult":"./lib/models/authorization-result","AuthorizationState":"./lib/models/authorization-state.enum","JwtKeys":"./lib/models/jwtkeys","JwtKey":"./lib/models/jwtkeys","ValidateStateResult":"./lib/models/validate-state-result.model","ValidationResult":"./lib/models/validation-result.enum","AuthModule":"./lib/modules/auth.module","Type":"./lib/modules/auth.module","Token":"./lib/modules/auth.module","TokenHelperService":"./lib/services/oidc-token-helper.service","ConfigResult":"./lib/services/oidc.security.config.service","OidcConfigService":"./lib/services/oidc.security.config.service","OidcSecurityService":"./lib/services/oidc.security.service","OidcSecurityStorage":"./lib/services/oidc.security.storage","BrowserStorage":"./lib/services/oidc.security.storage","OidcSecurityValidation":"./lib/services/oidc.security.validation","ɵa":"./lib/data-services/oidc-data.service","ɵb":"./lib/services/oidc-security-state-validation.service","ɵc":"./lib/services/oidc.security.common","ɵd":"./lib/services/oidc-equality-helper.service","ɵe":"./lib/services/oidc.logger.service","ɵf":"./lib/services/auth-configuration.provider","ɵg":"./lib/services/platform.provider","ɵh":"./lib/services/oidc.security.check-session","ɵi":"./lib/services/existing-iframe.service","ɵj":"./lib/services/oidc.security.silent-renew","ɵk":"./lib/services/oidc.security.user-service"},"importAs":"angular-auth-oidc-client"} |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("jsrsasign"),require("@angular/common/http"),require("@angular/router"),require("rxjs"),require("@angular/core"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("angular-auth-oidc-client",["exports","@angular/common","jsrsasign","@angular/common/http","@angular/router","rxjs","@angular/core","rxjs/operators"],t):t(e["angular-auth-oidc-client"]={},e.ng.common,e.jsrsasign,e.ng.common.http,e.ng.router,e.rxjs,e.ng.core,e.rxjs.operators)}(this,function(e,t,w,h,i,p,o,f){"use strict";var r=function(){function e(){this.issuer="",this.jwks_uri="",this.authorization_endpoint="",this.token_endpoint="",this.userinfo_endpoint="",this.end_session_endpoint="",this.check_session_iframe="",this.revocation_endpoint="",this.introspection_endpoint=""}return e.prototype.setWellKnownEndpoints=function(e){this.issuer=e.issuer,this.jwks_uri=e.jwks_uri,this.authorization_endpoint=e.authorization_endpoint,this.token_endpoint=e.token_endpoint,this.userinfo_endpoint=e.userinfo_endpoint,e.end_session_endpoint&&(this.end_session_endpoint=e.end_session_endpoint),e.check_session_iframe&&(this.check_session_iframe=e.check_session_iframe),e.revocation_endpoint&&(this.revocation_endpoint=e.revocation_endpoint),e.introspection_endpoint&&(this.introspection_endpoint=e.introspection_endpoint)},e}(),a=function x(e,t){this.authorizationState=e,this.validationResult=t},u={authorized:"authorized",forbidden:"forbidden",unauthorized:"unauthorized"},n=function V(){this.keys=[]},s=function K(){this.kty="",this.use="",this.kid="",this.x5t="",this.e="",this.n="",this.x5c=[]},c={NotSet:"NotSet",StatesDoNotMatch:"StatesDoNotMatch",SignatureFailed:"SignatureFailed",IncorrectNonce:"IncorrectNonce",RequiredPropertyMissing:"RequiredPropertyMissing",MaxOffsetExpired:"MaxOffsetExpired",IssDoesNotMatchIssuer:"IssDoesNotMatchIssuer",NoAuthWellKnownEndPoints:"NoAuthWellKnownEndPoints",IncorrectAud:"IncorrectAud",TokenExpired:"TokenExpired",IncorrectAtHash:"IncorrectAtHash",Ok:"Ok",LoginRequired:"LoginRequired",SecureTokenServerError:"SecureTokenServerError"},l=function U(e,t,i,o,n){void 0===e&&(e=""),void 0===t&&(t=""),void 0===i&&(i=!1),void 0===o&&(o={}),void 0===n&&(n=c.NotSet),this.access_token=e,this.id_token=t,this.authResponseIsValid=i,this.decoded_id_token=o,this.state=n},d=function H(){this.stsServer="https://localhost:44318",this.redirect_url="https://localhost:44311",this.client_id="angularclient",this.response_type="id_token token",this.scope="openid email profile",this.hd_param="",this.post_logout_redirect_uri="https://localhost:44311/unauthorized",this.start_checksession=!1,this.silent_renew=!1,this.silent_renew_url="https://localhost:44311",this.silent_renew_offset_in_seconds=0,this.silent_redirect_url="https://localhost:44311",this.post_login_route="/",this.forbidden_route="/forbidden",this.unauthorized_route="/unauthorized",this.auto_userinfo=!0,this.auto_clean_state_after_authentication=!0,this.trigger_authorization_result_event=!1,this.log_console_warning_active=!0,this.log_console_debug_active=!1,this.iss_validation_off=!1,this.history_cleanup_off=!1,this.max_id_token_iat_offset_allowed_in_seconds=3,this.disable_iat_offset_validation=!1,this.storage="undefined"!=typeof Storage?sessionStorage:null},g=function(){function e(e){this.platformId=e,this._onConfigurationChange=new p.Subject,this.defaultConfig=new d}return Object.defineProperty(e.prototype,"stsServer",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.stsServer:this.defaultConfig.stsServer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"redirect_url",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.redirect_url:this.defaultConfig.redirect_url},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"silent_redirect_url",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.silent_renew_url:this.defaultConfig.silent_renew_url},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"client_id",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.client_id:this.defaultConfig.client_id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"response_type",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.response_type:this.defaultConfig.response_type},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scope",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.scope:this.defaultConfig.scope},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hd_param",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.hd_param:this.defaultConfig.hd_param},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"post_logout_redirect_uri",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.post_logout_redirect_uri:this.defaultConfig.post_logout_redirect_uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"start_checksession",{get:function(){return!!t.isPlatformBrowser(this.platformId)&&(this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.start_checksession:this.defaultConfig.start_checksession)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"silent_renew",{get:function(){return!!t.isPlatformBrowser(this.platformId)&&(this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.silent_renew:this.defaultConfig.silent_renew)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"silent_renew_offset_in_seconds",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.silent_renew_offset_in_seconds:this.defaultConfig.silent_renew_offset_in_seconds},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"post_login_route",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.post_login_route:this.defaultConfig.post_login_route},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"forbidden_route",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.forbidden_route:this.defaultConfig.forbidden_route},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"unauthorized_route",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.unauthorized_route:this.defaultConfig.unauthorized_route},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"auto_userinfo",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.auto_userinfo:this.defaultConfig.auto_userinfo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"auto_clean_state_after_authentication",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.auto_clean_state_after_authentication:this.defaultConfig.auto_clean_state_after_authentication},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"trigger_authorization_result_event",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.trigger_authorization_result_event:this.defaultConfig.trigger_authorization_result_event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isLogLevelWarningEnabled",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.log_console_warning_active:this.defaultConfig.log_console_warning_active},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isLogLevelDebugEnabled",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.log_console_debug_active:this.defaultConfig.log_console_debug_active},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"iss_validation_off",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.iss_validation_off:this.defaultConfig.iss_validation_off},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"history_cleanup_off",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.history_cleanup_off:this.defaultConfig.history_cleanup_off},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"max_id_token_iat_offset_allowed_in_seconds",{get:function(){return this.openIDImplicitFlowConfiguration?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(e.prototype,"disable_iat_offset_validation",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.disable_iat_offset_validation:this.defaultConfig.disable_iat_offset_validation},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storage",{get:function(){return this.openIDImplicitFlowConfiguration?this.openIDImplicitFlowConfiguration.storage:this.defaultConfig.storage},enumerable:!0,configurable:!0}),e.prototype.init=function(e){this.openIDImplicitFlowConfiguration=e,this._onConfigurationChange.next(e)},Object.defineProperty(e.prototype,"onConfigurationChange",{get:function(){return this._onConfigurationChange.asObservable()},enumerable:!0,configurable:!0}),e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:Object,decorators:[{type:o.Inject,args:[o.PLATFORM_ID]}]}]},e}(),_=function(){function e(e){this.httpClient=e}return e.prototype.getWellknownEndpoints=function(e){var t=new h.HttpHeaders;return t=t.set("Accept","application/json"),this.httpClient.get(e,{headers:t})},e.prototype.getIdentityUserData=function(e,t){var i=new h.HttpHeaders;return i=(i=i.set("Accept","application/json")).set("Authorization","Bearer "+decodeURIComponent(t)),this.httpClient.get(e,{headers:i})},e.prototype.get=function(e){var t=new h.HttpHeaders;return t=t.set("Accept","application/json"),this.httpClient.get(e,{headers:t})},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:h.HttpClient}]},e}(),y=function(){function e(e){this.authConfiguration=e}return e.prototype.logError=function(e){console.error(e)},e.prototype.logWarning=function(e){this.authConfiguration.isLogLevelWarningEnabled&&console.warn(e)},e.prototype.logDebug=function(e){this.authConfiguration.isLogLevelDebugEnabled&&console.log(e)},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:g}]},e}(),S=function(){function e(e){this.loggerService=e}return e.prototype.getExistingIFrame=function(e){var t=this.getIFrameFromParentWindow(e);return t||this.getIFrameFromWindow(e)},e.prototype.addIFrameToWindowBody=function(e){var t=window.document.createElement("iframe");return t.id=e,this.loggerService.logDebug(t),t.style.display="none",window.document.body.appendChild(t),t},e.prototype.getIFrameFromParentWindow=function(e){return window.parent.document.getElementById(e)},e.prototype.getIFrameFromWindow=function(e){return window.document.getElementById(e)},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:y}]},e}(),v=function(){function e(){}return e.prototype.areEqual=function(e,t){if(!e||!t)return!1;if(this.bothValuesAreArrays(e,t))return this.arraysEqual(e,t);if(this.bothValuesAreStrings(e,t))return e===t;if(this.bothValuesAreObjects(e,t))return JSON.stringify(e).toLowerCase()===JSON.stringify(t).toLowerCase();if(this.oneValueIsStringAndTheOtherIsArray(e,t)){if(Array.isArray(e)&&this.valueIsString(t))return e[0]===t;if(Array.isArray(t)&&this.valueIsString(e))return t[0]===e}},e.prototype.oneValueIsStringAndTheOtherIsArray=function(e,t){return Array.isArray(e)&&this.valueIsString(t)||Array.isArray(t)&&this.valueIsString(e)},e.prototype.bothValuesAreObjects=function(e,t){return this.valueIsObject(e)&&this.valueIsObject(t)},e.prototype.bothValuesAreStrings=function(e,t){return this.valueIsString(e)&&this.valueIsString(t)},e.prototype.bothValuesAreArrays=function(e,t){return Array.isArray(e)&&Array.isArray(t)},e.prototype.valueIsString=function(e){return"string"==typeof e||e instanceof String},e.prototype.valueIsObject=function(e){return"object"==typeof e},e.prototype.arraysEqual=function(e,t){if(e.length!==t.length)return!1;for(var i=e.length;i--;)if(e[i]!==t[i])return!1;return!0},e.decorators=[{type:o.Injectable}],e}(),m=function(){function e(e){this.loggerService=e,this.PARTS_OF_TOKEN=3}return e.prototype.getTokenExpirationDate=function(e){if(!e.hasOwnProperty("exp"))return new Date;var t=new Date(0);return t.setUTCSeconds(e.exp),t},e.prototype.getHeaderFromToken=function(e,t){return this.tokenIsValid(e)?this.getPartOfToken(e,0,t):{}},e.prototype.getPayloadFromToken=function(e,t){return this.tokenIsValid(e)?this.getPartOfToken(e,1,t):{}},e.prototype.getSignatureFromToken=function(e,t){return this.tokenIsValid(e)?this.getPartOfToken(e,2,t):{}},e.prototype.getPartOfToken=function(e,t,i){var o=this.extractPartOfToken(e,t);if(i)return o;var n=this.urlBase64Decode(o);return JSON.parse(n)},e.prototype.urlBase64Decode=function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw Error("Illegal base64url string!")}var i="undefined"!=typeof window?window.atob(t):new Buffer(t,"base64").toString("binary");try{return decodeURIComponent(i.split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))}catch(o){return i}},e.prototype.tokenIsValid=function(e){return e?e.includes(".")?e.split(".").length===this.PARTS_OF_TOKEN||(this.loggerService.logError("token '"+e+"' is not valid --\x3e token has t have exact three dots"),!1):(this.loggerService.logError("token '"+e+"' is not valid --\x3e no dots included"),!1):(this.loggerService.logError("token '"+e+"' is not valid --\x3e token falsy"),!1)},e.prototype.extractPartOfToken=function(e,t){return e.split(".")[t]},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:y}]},e}(),b=function(){function e(){}return e.decorators=[{type:o.Injectable}],e}(),C=function(){function e(e){this.authConfiguration=e,this.hasStorage="undefined"!=typeof Storage}return e.prototype.read=function(e){if(this.hasStorage)return JSON.parse(this.authConfiguration.storage.getItem(e+"_"+this.authConfiguration.client_id))},e.prototype.write=function(e,t){this.hasStorage&&(t=t===undefined?null:t,this.authConfiguration.storage.setItem(e+"_"+this.authConfiguration.client_id,JSON.stringify(t)))},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:g}]},e}(),k=function(){function e(e){this.oidcSecurityStorage=e,this.storage_auth_result="authorizationResult",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_code_verifier="code_verifier",this.storage_auth_state_control="authStateControl",this.storage_session_state="session_state",this.storage_silent_renew_running="storage_silent_renew_running",this.storage_custom_request_params="storage_custom_request_params"}return Object.defineProperty(e.prototype,"authResult",{get:function(){return this.retrieve(this.storage_auth_result)},set:function(e){this.store(this.storage_auth_result,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"accessToken",{get:function(){return this.retrieve(this.storage_access_token)||""},set:function(e){this.store(this.storage_access_token,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"idToken",{get:function(){return this.retrieve(this.storage_id_token)||""},set:function(e){this.store(this.storage_id_token,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAuthorized",{get:function(){return this.retrieve(this.storage_is_authorized)},set:function(e){this.store(this.storage_is_authorized,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userData",{get:function(){return this.retrieve(this.storage_user_data)},set:function(e){this.store(this.storage_user_data,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"authNonce",{get:function(){return this.retrieve(this.storage_auth_nonce)||""},set:function(e){this.store(this.storage_auth_nonce,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"code_verifier",{get:function(){return this.retrieve(this.storage_code_verifier)||""},set:function(e){this.store(this.storage_code_verifier,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"authStateControl",{get:function(){return this.retrieve(this.storage_auth_state_control)||""},set:function(e){this.store(this.storage_auth_state_control,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"sessionState",{get:function(){return this.retrieve(this.storage_session_state)},set:function(e){this.store(this.storage_session_state,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"silentRenewRunning",{get:function(){return this.retrieve(this.storage_silent_renew_running)||""},set:function(e){this.store(this.storage_silent_renew_running,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"customRequestParams",{get:function(){return this.retrieve(this.storage_custom_request_params)},set:function(e){this.store(this.storage_custom_request_params,e)},enumerable:!0,configurable:!0}),e.prototype.retrieve=function(e){return this.oidcSecurityStorage.read(e)},e.prototype.store=function(e,t){this.oidcSecurityStorage.write(e,t)},e.prototype.resetStorageData=function(e){e||(this.store(this.storage_auth_result,""),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,""),this.store(this.storage_code_verifier,""))},e.prototype.getAccessToken=function(){return this.retrieve(this.storage_access_token)},e.prototype.getIdToken=function(){return this.retrieve(this.storage_id_token)},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:b}]},e}();function I(e){var t="function"==typeof Symbol&&e[Symbol.iterator],i=0;return t?t.call(e):{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}}}var D=function(){function e(e,t,i){this.arrayHelperService=e,this.tokenHelperService=t,this.loggerService=i}return e.prototype.isTokenExpired=function(e,t){var i;return i=this.tokenHelperService.getPayloadFromToken(e,!1),!this.validate_id_token_exp_not_expired(i,t)},e.prototype.validate_id_token_exp_not_expired=function(e,t){var i=this.tokenHelperService.getTokenExpirationDate(e);if(t=t||0,!i)return!1;var o=i.valueOf(),n=(new Date).valueOf()+1e3*t,r=n<o;return this.loggerService.logDebug("Token not expired?: "+o+" > "+n+" ("+r+")"),r},e.prototype.validate_required_id_token=function(e){var t=!0;return e.hasOwnProperty("iss")||(t=!1,this.loggerService.logWarning("iss is missing, this is required in the id_token")),e.hasOwnProperty("sub")||(t=!1,this.loggerService.logWarning("sub is missing, this is required in the id_token")),e.hasOwnProperty("aud")||(t=!1,this.loggerService.logWarning("aud is missing, this is required in the id_token")),e.hasOwnProperty("exp")||(t=!1,this.loggerService.logWarning("exp is missing, this is required in the id_token")),e.hasOwnProperty("iat")||(t=!1,this.loggerService.logWarning("iat is missing, this is required in the id_token")),t},e.prototype.validate_id_token_iat_max_offset=function(e,t,i){if(i)return!0;if(!e.hasOwnProperty("iat"))return!1;var o=new Date(0);return o.setUTCSeconds(e.iat),t=t||0,null!=o&&(this.loggerService.logDebug("validate_id_token_iat_max_offset: "+((new Date).valueOf()-o.valueOf())+" < "+1e3*t),(new Date).valueOf()-o.valueOf()<1e3*t)},e.prototype.validate_id_token_nonce=function(e,t){return e.nonce===t||(this.loggerService.logDebug("Validate_id_token_nonce failed, dataIdToken.nonce: "+e.nonce+" local_nonce:"+t),!1)},e.prototype.validate_id_token_iss=function(e,t){return e.iss===t||(this.loggerService.logDebug("Validate_id_token_iss failed, dataIdToken.iss: "+e.iss+" authWellKnownEndpoints issuer:"+t),!1)},e.prototype.validate_id_token_aud=function(e,t){return e.aud instanceof Array?!!this.arrayHelperService.areEqual(e.aud,t)||(this.loggerService.logDebug("Validate_id_token_aud array failed, dataIdToken.aud: "+e.aud+" client_id:"+t),!1):e.aud===t||(this.loggerService.logDebug("Validate_id_token_aud failed, dataIdToken.aud: "+e.aud+" client_id:"+t),!1)},e.prototype.validateStateFromHashCallback=function(e,t){return e===t||(this.loggerService.logDebug("ValidateStateFromHashCallback failed, state: "+e+" local_state:"+t),!1)},e.prototype.validate_userdata_sub_id_token=function(e,t){return e===t||(this.loggerService.logDebug("validate_userdata_sub_id_token failed, id_token_sub: "+e+" userdata_sub:"+t),!1)},e.prototype.validate_signature_id_token=function(e,t){var i,o,n,r,s,a;if(!t||!t.keys)return!1;var u=this.tokenHelperService.getHeaderFromToken(e,!1);if(0===Object.keys(u).length&&u.constructor===Object)return this.loggerService.logWarning("id token has no header data"),!1;var c=u.kid;if("RS256"!==u.alg)return this.loggerService.logWarning("Only RS256 supported"),!1;var l=!1;if(u.hasOwnProperty("kid"))try{for(var h=I(t.keys),d=h.next();!d.done;d=h.next()){if((S=d.value).kid===c){v=w.KEYUTIL.getKey(S);return(l=w.KJUR.jws.JWS.verify(e,v,["RS256"]))||this.loggerService.logWarning("incorrect Signature, validation failed for id_token"),l}}}catch(m){s={error:m}}finally{try{d&&!d.done&&(a=h["return"])&&a.call(h)}finally{if(s)throw s.error}}else{var g=0;try{for(var p=I(t.keys),f=p.next();!f.done;f=p.next()){"RSA"===(S=f.value).kty&&"sig"===S.use&&(g+=1)}}catch(b){i={error:b}}finally{try{f&&!f.done&&(o=p["return"])&&o.call(p)}finally{if(i)throw i.error}}if(0===g)return this.loggerService.logWarning("no keys found, incorrect Signature, validation failed for id_token"),!1;if(1<g)return this.loggerService.logWarning("no ID Token kid claim in JOSE header and multiple supplied in jwks_uri"),!1;try{for(var _=I(t.keys),y=_.next();!y.done;y=_.next()){var S;if("RSA"===(S=y.value).kty&&"sig"===S.use){var v=w.KEYUTIL.getKey(S);return(l=w.KJUR.jws.JWS.verify(e,v,["RS256"]))||this.loggerService.logWarning("incorrect Signature, validation failed for id_token"),l}}}catch(C){n={error:C}}finally{try{y&&!y.done&&(r=_["return"])&&r.call(_)}finally{if(n)throw n.error}}}return l},e.prototype.config_validate_response_type=function(e){return"id_token token"===e||"id_token"===e||("code"===e||(this.loggerService.logWarning("module configure incorrect, invalid response_type:"+e),!1))},e.prototype.validate_id_token_at_hash=function(e,t,i){if(this.loggerService.logDebug("at_hash from the server:"+t),i&&!t)return this.loggerService.logDebug("Code Flow active, and no at_hash in the id_token, skipping check!"),!0;var o=this.generate_at_hash(""+e);if(this.loggerService.logDebug("at_hash client validation not decoded:"+o),o===t)return!0;var n=this.generate_at_hash(""+decodeURIComponent(e));return this.loggerService.logDebug("-gen access--"+n),n===t},e.prototype.generate_at_hash=function(e){var t=w.KJUR.crypto.Util.hashString(e,"sha256"),i=t.substr(0,t.length/2);return w.hextob64u(i)},e.prototype.generate_code_verifier=function(e){var t=w.KJUR.crypto.Util.hashString(e,"sha256");return w.hextob64u(t)},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:v},{type:m},{type:y}]},e}(),z=function(){function e(e,t,i,o,n){this.authConfiguration=e,this.oidcSecurityCommon=t,this.oidcSecurityValidation=i,this.tokenHelperService=o,this.loggerService=n,this.authWellKnownEndpoints=new r}return e.prototype.setupModule=function(e){this.authWellKnownEndpoints=Object.assign({},e)},e.prototype.validateState=function(e,t){var i=new l;if(!this.oidcSecurityValidation.validateStateFromHashCallback(e.state,this.oidcSecurityCommon.authStateControl))return this.loggerService.logWarning("authorizedCallback incorrect state"),i.state=c.StatesDoNotMatch,this.handleUnsuccessfulValidation(),i;if("id_token token"!==this.authConfiguration.response_type&&"code"!==this.authConfiguration.response_type||(i.access_token=e.access_token),i.id_token=e.id_token,i.decoded_id_token=this.tokenHelperService.getPayloadFromToken(i.id_token,!1),!this.oidcSecurityValidation.validate_signature_id_token(i.id_token,t))return this.loggerService.logDebug("authorizedCallback Signature validation failed id_token"),i.state=c.SignatureFailed,this.handleUnsuccessfulValidation(),i;if(!this.oidcSecurityValidation.validate_id_token_nonce(i.decoded_id_token,this.oidcSecurityCommon.authNonce))return this.loggerService.logWarning("authorizedCallback incorrect nonce"),i.state=c.IncorrectNonce,this.handleUnsuccessfulValidation(),i;if(!this.oidcSecurityValidation.validate_required_id_token(i.decoded_id_token))return this.loggerService.logDebug("authorizedCallback Validation, one of the REQUIRED properties missing from id_token"),i.state=c.RequiredPropertyMissing,this.handleUnsuccessfulValidation(),i;if(!this.oidcSecurityValidation.validate_id_token_iat_max_offset(i.decoded_id_token,this.authConfiguration.max_id_token_iat_offset_allowed_in_seconds,this.authConfiguration.disable_iat_offset_validation))return this.loggerService.logWarning("authorizedCallback Validation, iat rejected id_token was issued too far away from the current time"),i.state=c.MaxOffsetExpired,this.handleUnsuccessfulValidation(),i;if(!this.authWellKnownEndpoints)return this.loggerService.logWarning("authWellKnownEndpoints is undefined"),i.state=c.NoAuthWellKnownEndPoints,this.handleUnsuccessfulValidation(),i;if(this.authConfiguration.iss_validation_off)this.loggerService.logDebug("iss validation is turned off, this is not recommended!");else if(!this.authConfiguration.iss_validation_off&&!this.oidcSecurityValidation.validate_id_token_iss(i.decoded_id_token,this.authWellKnownEndpoints.issuer))return this.loggerService.logWarning("authorizedCallback incorrect iss does not match authWellKnownEndpoints issuer"),i.state=c.IssDoesNotMatchIssuer,this.handleUnsuccessfulValidation(),i;return this.oidcSecurityValidation.validate_id_token_aud(i.decoded_id_token,this.authConfiguration.client_id)?this.oidcSecurityValidation.validate_id_token_exp_not_expired(i.decoded_id_token)?"id_token token"!==this.authConfiguration.response_type&&"code"!==this.authConfiguration.response_type?(i.authResponseIsValid=!0,i.state=c.Ok,this.handleSuccessfulValidation(),this.handleUnsuccessfulValidation()):this.oidcSecurityValidation.validate_id_token_at_hash(i.access_token,i.decoded_id_token.at_hash,"code"===this.authConfiguration.response_type)&&i.access_token?(i.authResponseIsValid=!0,i.state=c.Ok,this.handleSuccessfulValidation()):(this.loggerService.logWarning("authorizedCallback incorrect at_hash"),i.state=c.IncorrectAtHash,this.handleUnsuccessfulValidation()):(this.loggerService.logWarning("authorizedCallback token expired"),i.state=c.TokenExpired,this.handleUnsuccessfulValidation()):(this.loggerService.logWarning("authorizedCallback incorrect aud"),i.state=c.IncorrectAud,this.handleUnsuccessfulValidation()),i},e.prototype.handleSuccessfulValidation=function(){this.oidcSecurityCommon.authNonce="",this.authConfiguration.auto_clean_state_after_authentication&&(this.oidcSecurityCommon.authStateControl=""),this.loggerService.logDebug("AuthorizedCallback token(s) validated, continue")},e.prototype.handleUnsuccessfulValidation=function(){this.oidcSecurityCommon.authNonce="",this.authConfiguration.auto_clean_state_after_authentication&&(this.oidcSecurityCommon.authStateControl=""),this.loggerService.logDebug("AuthorizedCallback token(s) invalid")},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:g},{type:k},{type:D},{type:m},{type:y}]},e}(),E="myiFrameForCheckSession",R=function(){function e(e,t,i,o,n){this.authConfiguration=e,this.oidcSecurityCommon=t,this.loggerService=i,this.iFrameService=o,this.zone=n,this.lastIFrameRefresh=0,this.outstandingMessages=0,this.heartBeatInterval=3e3,this.iframeRefreshInterval=6e4,this._onCheckSessionChanged=new p.Subject}return Object.defineProperty(e.prototype,"onCheckSessionChanged",{get:function(){return this._onCheckSessionChanged.asObservable()},enumerable:!0,configurable:!0}),e.prototype.setupModule=function(e){this.authWellKnownEndpoints=Object.assign({},e)},e.prototype.doesSessionExist=function(){var e=this.iFrameService.getExistingIFrame(E);return!!e&&(this.sessionIframe=e,!0)},e.prototype.init=function(){var t=this;return this.lastIFrameRefresh+this.iframeRefreshInterval>Date.now()?p.from([this]):(this.doesSessionExist()||(this.sessionIframe=this.iFrameService.addIFrameToWindowBody(E),this.iframeMessageEvent=this.messageHandler.bind(this),window.addEventListener("message",this.iframeMessageEvent,!1)),this.authWellKnownEndpoints?this.sessionIframe.contentWindow.location.replace(this.authWellKnownEndpoints.check_session_iframe):this.loggerService.logWarning("init check session: authWellKnownEndpoints is undefined"),p.Observable.create(function(e){t.sessionIframe.onload=function(){t.lastIFrameRefresh=Date.now(),e.next(t),e.complete()}}))},e.prototype.startCheckingSession=function(e){this.scheduledHeartBeat||this.pollServerSession(e)},e.prototype.stopCheckingSession=function(){this.scheduledHeartBeat&&this.clearScheduledHeartBeat()},e.prototype.pollServerSession=function(t){var i=this,o=function(){i.init().pipe(f.take(1)).subscribe(function(){if(i.sessionIframe&&t){i.loggerService.logDebug(i.sessionIframe);var e=i.oidcSecurityCommon.sessionState;e?(i.outstandingMessages++,i.sessionIframe.contentWindow.postMessage(t+" "+e,i.authConfiguration.stsServer)):(i.loggerService.logDebug("OidcSecurityCheckSession pollServerSession session_state is blank"),i._onCheckSessionChanged.next())}else i.loggerService.logWarning("OidcSecurityCheckSession pollServerSession sessionIframe does not exist"),i.loggerService.logDebug(t),i.loggerService.logDebug(i.sessionIframe);3<i.outstandingMessages&&(i.loggerService.logError("OidcSecurityCheckSession not receiving check session response messages. Outstanding messages: "+i.outstandingMessages+". Server unreachable?"),i._onCheckSessionChanged.next()),i.scheduledHeartBeat=setTimeout(o,i.heartBeatInterval)})};this.outstandingMessages=0,this.zone.runOutsideAngular(function(){i.scheduledHeartBeat=setTimeout(o,i.heartBeatInterval)})},e.prototype.clearScheduledHeartBeat=function(){clearTimeout(this.scheduledHeartBeat),this.scheduledHeartBeat=null},e.prototype.messageHandler=function(e){this.outstandingMessages=0,this.sessionIframe&&e.origin===this.authConfiguration.stsServer&&e.source===this.sessionIframe.contentWindow&&("error"===e.data?this.loggerService.logWarning("error from checksession messageHandler"):"changed"===e.data?this._onCheckSessionChanged.next():this.loggerService.logDebug(e.data+" from checksession messageHandler"))},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:g},{type:k},{type:y},{type:S},{type:o.NgZone}]},e}(),O=function(){function e(e){this.httpClient=e,this._onConfigurationLoaded=new p.Subject}return Object.defineProperty(e.prototype,"onConfigurationLoaded",{get:function(){return this._onConfigurationLoaded.asObservable()},enumerable:!0,configurable:!0}),e.prototype.load=function(t){var i=this;this.httpClient.get(t).pipe(f.map(function(e){i.clientConfiguration=e,i.load_using_stsServer(i.clientConfiguration.stsServer)}),f.catchError(function(e){return console.error("OidcConfigService 'load' threw an error on calling "+t,e),i._onConfigurationLoaded.next(!1),p.of(!1)})).subscribe()},e.prototype.load_using_stsServer=function(t){var i=this,e=t+"/.well-known/openid-configuration";this.httpClient.get(e).pipe(f.map(function(e){i.wellKnownEndpoints=e,i._onConfigurationLoaded.next(!0)}),f.catchError(function(e){return console.error("OidcConfigService 'load_using_stsServer' threw an error on calling "+t,e),i._onConfigurationLoaded.next(!1),p.of(!1)})).subscribe()},e.prototype.load_using_custom_stsServer=function(t){var i=this;this.httpClient.get(t).pipe(f.map(function(e){i.wellKnownEndpoints=e,i._onConfigurationLoaded.next(!0)}),f.catchError(function(e){return console.error("OidcConfigService 'load_using_custom_stsServer' threw an error on calling "+t,e),i._onConfigurationLoaded.next(!1),p.of(!1)})).subscribe()},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:h.HttpClient}]},e}(),A="myiFrameForSilentRenew",W=function(){function e(e,t){this.loggerService=e,this.iFrameService=t,this.isRenewInitialized=!1}return e.prototype.initRenew=function(){this.iFrameService.getExistingIFrame(A)||this.iFrameService.addIFrameToWindowBody(A),this.isRenewInitialized=!0},e.prototype.startRenew=function(e){var t=this;return this.isRenewInitialized||this.initRenew(),this.sessionIframe=this.iFrameService.getExistingIFrame(A),this.loggerService.logDebug("startRenew for URL:"+e),this.sessionIframe.contentWindow.location.replace(e),p.Observable.create(function(e){t.sessionIframe.onload=function(){e.next(t),e.complete()}})},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:y},{type:S}]},e}(),j=function(){function e(e,t,i){this.oidcDataService=e,this.oidcSecurityCommon=t,this.loggerService=i,this.userData=""}return e.prototype.setupModule=function(e){this.authWellKnownEndpoints=Object.assign({},e)},e.prototype.initUserData=function(){var t=this;return this.getIdentityUserData().pipe(f.map(function(e){return t.userData=e}))},e.prototype.getUserData=function(){if(!this.userData)throw Error("UserData is not set!");return this.userData},e.prototype.setUserData=function(e){this.userData=e},e.prototype.getIdentityUserData=function(){var e=this.oidcSecurityCommon.getAccessToken();if(!this.authWellKnownEndpoints)throw this.loggerService.logWarning("init check session: authWellKnownEndpoints is undefined"),Error("authWellKnownEndpoints is undefined");if(!(this.authWellKnownEndpoints&&this.authWellKnownEndpoints.userinfo_endpoint))throw this.loggerService.logError("init check session: authWellKnownEndpoints.userinfo_endpoint is undefined; set auto_userinfo = false in config"),Error("authWellKnownEndpoints.userinfo_endpoint is undefined");return this.oidcDataService.getIdentityUserData(this.authWellKnownEndpoints.userinfo_endpoint,e)},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:_},{type:k},{type:y}]},e}(),F=function(){function e(){}return e.prototype.encodeKey=function(e){return encodeURIComponent(e)},e.prototype.encodeValue=function(e){return encodeURIComponent(e)},e.prototype.decodeKey=function(e){return decodeURIComponent(e)},e.prototype.decodeValue=function(e){return decodeURIComponent(e)},e}(),P=function(){function e(e,t,i,o,n,r,s,a,u,c,l,h,d){var g=this;this.oidcDataService=e,this.stateValidationService=t,this.authConfiguration=i,this.router=o,this.oidcSecurityCheckSession=n,this.oidcSecuritySilentRenew=r,this.oidcSecurityUserService=s,this.oidcSecurityCommon=a,this.oidcSecurityValidation=u,this.tokenHelperService=c,this.loggerService=l,this.zone=h,this.httpClient=d,this._onModuleSetup=new p.Subject,this._onCheckSessionChanged=new p.Subject,this._onAuthorizationResult=new p.Subject,this.checkSessionChanged=!1,this.moduleSetup=!1,this._isModuleSetup=new p.BehaviorSubject(!1),this._isAuthorized=new p.BehaviorSubject(!1),this._userData=new p.BehaviorSubject(""),this.authWellKnownEndpointsLoaded=!1,this.runTokenValidationRunning=!1,this.onModuleSetup.pipe(f.take(1)).subscribe(function(){g.moduleSetup=!0,g._isModuleSetup.next(!0)}),this._isSetupAndAuthorized=this._isModuleSetup.pipe(f.filter(function(e){return e}),f.switchMap(function(){if(!g.authConfiguration.silent_renew)return p.from([!0]).pipe(f.tap(function(){return g.loggerService.logDebug("IsAuthorizedRace: Silent Renew Not Active. Emitting.")}));var e=g._isAuthorized.asObservable().pipe(f.filter(function(e){return e}),f.take(1),f.tap(function(){return g.loggerService.logDebug("IsAuthorizedRace: Existing token is still authorized.")}),f.race(g._onAuthorizationResult.pipe(f.take(1),f.tap(function(){return g.loggerService.logDebug("IsAuthorizedRace: Silent Renew Refresh Session Complete")}),f.map(function(){return!0})),p.timer(5e3).pipe(f.tap(function(){g.resetAuthorizationData(!1),g.oidcSecurityCommon.authNonce="",g.loggerService.logWarning("IsAuthorizedRace: Timeout reached. Emitting.")}),f.map(function(){return!0}))));return g.loggerService.logDebug("Silent Renew is active, check if token in storage is active"),""!==g.oidcSecurityCommon.authNonce&&g.oidcSecurityCommon.authNonce!==undefined||(g.loggerService.logDebug("Silent Renew or login not running, try to refresh the session"),g.refreshSession()),e}),f.tap(function(){return g.loggerService.logDebug("IsAuthorizedRace: Completed")}),f.switchMapTo(this._isAuthorized.asObservable()),f.tap(function(e){return g.loggerService.logDebug("getIsAuthorized: "+e)}),f.shareReplay(1)),this._isSetupAndAuthorized.pipe(f.filter(function(){return g.authConfiguration.start_checksession})).subscribe(function(e){e?g.oidcSecurityCheckSession.startCheckingSession(g.authConfiguration.client_id):g.oidcSecurityCheckSession.stopCheckingSession()})}return Object.defineProperty(e.prototype,"onModuleSetup",{get:function(){return this._onModuleSetup.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onAuthorizationResult",{get:function(){return this._onAuthorizationResult.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCheckSessionChanged",{get:function(){return this._onCheckSessionChanged.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onConfigurationChange",{get:function(){return this.authConfiguration.onConfigurationChange},enumerable:!0,configurable:!0}),e.prototype.setupModule=function(e,t){var i=this;this.authWellKnownEndpoints=Object.assign({},t),this.authConfiguration.init(e),this.stateValidationService.setupModule(t),this.oidcSecurityCheckSession.setupModule(t),this.oidcSecurityUserService.setupModule(t),this.oidcSecurityCheckSession.onCheckSessionChanged.subscribe(function(){i.loggerService.logDebug("onCheckSessionChanged"),i.checkSessionChanged=!0,i._onCheckSessionChanged.next(i.checkSessionChanged)});var o=this.oidcSecurityCommon.userData;o&&this.setUserData(o);var n=this.oidcSecurityCommon.isAuthorized;if(n&&(this.loggerService.logDebug("IsAuthorized setup module"),this.loggerService.logDebug(this.oidcSecurityCommon.idToken),this.oidcSecurityValidation.isTokenExpired(this.oidcSecurityCommon.idToken,this.authConfiguration.silent_renew_offset_in_seconds)?this.loggerService.logDebug("IsAuthorized setup module; id_token isTokenExpired"):(this.loggerService.logDebug("IsAuthorized setup module; id_token is valid"),this.setIsAuthorized(n)),this.runTokenValidation()),this.loggerService.logDebug("STS server: "+this.authConfiguration.stsServer),this._onModuleSetup.next(),this.authConfiguration.silent_renew){this.oidcSecuritySilentRenew.initRenew(),this.boundSilentRenewEvent=this.silentRenewEventHandler.bind(this);var r=Math.random(),s=function(e){e.detail!==r&&(window.removeEventListener("oidc-silent-renew-message",i.boundSilentRenewEvent),window.removeEventListener("oidc-silent-renew-init",s))}.bind(this);window.addEventListener("oidc-silent-renew-init",s,!1),window.addEventListener("oidc-silent-renew-message",this.boundSilentRenewEvent,!1),window.dispatchEvent(new CustomEvent("oidc-silent-renew-init",{detail:r}))}},e.prototype.getUserData=function(){return this._userData.asObservable()},e.prototype.getIsModuleSetup=function(){return this._isModuleSetup.asObservable()},e.prototype.getIsAuthorized=function(){return this._isSetupAndAuthorized},e.prototype.getToken=function(){if(!this._isAuthorized.getValue())return"";var e=this.oidcSecurityCommon.getAccessToken();return decodeURIComponent(e)},e.prototype.getIdToken=function(){if(!this._isAuthorized.getValue())return"";var e=this.oidcSecurityCommon.getIdToken();return decodeURIComponent(e)},e.prototype.getPayloadFromIdToken=function(e){void 0===e&&(e=!1);var t=this.getIdToken();return this.tokenHelperService.getPayloadFromToken(t,e)},e.prototype.setState=function(e){this.oidcSecurityCommon.authStateControl=e},e.prototype.getState=function(){return this.oidcSecurityCommon.authStateControl},e.prototype.setCustomRequestParameters=function(e){this.oidcSecurityCommon.customRequestParams=e},e.prototype.authorize=function(e){if(this.authWellKnownEndpoints&&(this.authWellKnownEndpointsLoaded=!0),this.authWellKnownEndpointsLoaded){if(this.oidcSecurityValidation.config_validate_response_type(this.authConfiguration.response_type)){this.resetAuthorizationData(!1),this.loggerService.logDebug("BEGIN Authorize Code Flow, no auth data");var t=this.oidcSecurityCommon.authStateControl;t||(t=Date.now()+""+Math.random()+Math.random(),this.oidcSecurityCommon.authStateControl=t);var i="N"+Math.random()+Date.now();this.oidcSecurityCommon.authNonce=i,this.loggerService.logDebug("AuthorizedController created. local state: "+this.oidcSecurityCommon.authStateControl);var o="";if("code"===this.authConfiguration.response_type){var n="C"+Math.random()+Date.now()+Date.now()+Math.random(),r=this.oidcSecurityValidation.generate_code_verifier(n);this.oidcSecurityCommon.code_verifier=n,this.authWellKnownEndpoints?o=this.createAuthorizeUrl(!0,r,this.authConfiguration.redirect_url,i,t,this.authWellKnownEndpoints.authorization_endpoint):this.loggerService.logError("authWellKnownEndpoints is undefined")}else this.authWellKnownEndpoints?o=this.createAuthorizeUrl(!1,"",this.authConfiguration.redirect_url,i,t,this.authWellKnownEndpoints.authorization_endpoint):this.loggerService.logError("authWellKnownEndpoints is undefined");e?e(o):this.redirectTo(o)}}else this.loggerService.logError("Well known endpoints must be loaded before user can login!")},e.prototype.authorizedCallbackWithCode=function(e){var t=e.split("?"),i=new h.HttpParams({fromString:t[1]}),o=i.get("code"),n=i.get("state"),r=i.get("session_state");o&&n&&this.requestTokensWithCode(o,n,r)},e.prototype.requestTokensWithCode=function(e,t,i){var o=this;this._isModuleSetup.pipe(f.filter(function(e){return e}),f.take(1)).subscribe(function(){o.requestTokensWithCodeProcedure(e,t,i)})},e.prototype.requestTokensWithCodeProcedure=function(e,i,o){var n=this,t="";if(this.authWellKnownEndpoints&&this.authWellKnownEndpoints.token_endpoint&&(t=""+this.authWellKnownEndpoints.token_endpoint),this.oidcSecurityValidation.validateStateFromHashCallback(i,this.oidcSecurityCommon.authStateControl)){var r=new h.HttpHeaders;r=r.set("Content-Type","application/x-www-form-urlencoded");var s="grant_type=authorization_code&client_id="+this.authConfiguration.client_id+"&code_verifier="+this.oidcSecurityCommon.code_verifier+"&code="+e+"&redirect_uri="+this.authConfiguration.redirect_url;"running"===this.oidcSecurityCommon.silentRenewRunning&&(s="grant_type=authorization_code&client_id="+this.authConfiguration.client_id+"&code_verifier="+this.oidcSecurityCommon.code_verifier+"&code="+e+"&redirect_uri="+this.authConfiguration.silent_redirect_url),this.httpClient.post(t,s,{headers:r}).pipe(f.map(function(e){var t=new Object;(t=e).state=i,t.session_state=o,n.authorizedCodeFlowCallbackProcedure(t)}),f.catchError(function(e){return n.loggerService.logError(e),n.loggerService.logError("OidcService code request "+n.authConfiguration.stsServer),p.of(!1)})).subscribe()}else this.loggerService.logWarning("authorizedCallback incorrect state")},e.prototype.authorizedCodeFlowCallbackProcedure=function(e){var t="running"===this.oidcSecurityCommon.silentRenewRunning;this.loggerService.logDebug("BEGIN authorized Code Flow Callback, no auth data"),this.resetAuthorizationData(t),this.authorizedCallbackProcedure(e,t)},e.prototype.authorizedImplicitFlowCallbackProcedure=function(e){var t="running"===this.oidcSecurityCommon.silentRenewRunning;this.loggerService.logDebug("BEGIN authorizedCallback, no auth data"),this.resetAuthorizationData(t);var i=(e=e||window.location.hash.substr(1)).split("&").reduce(function(e,t){var i=t.split("=");return e[i.shift()]=i.join("="),e},{});this.authorizedCallbackProcedure(i,t)},e.prototype.authorizedImplicitFlowCallback=function(e){var t=this;this._isModuleSetup.pipe(f.filter(function(e){return e}),f.take(1)).subscribe(function(){t.authorizedImplicitFlowCallbackProcedure(e)})},e.prototype.redirectTo=function(e){window.location.href=e},e.prototype.authorizedCallbackProcedure=function(i,o){var n=this;this.oidcSecurityCommon.authResult=i,this.authConfiguration.history_cleanup_off||o?this.loggerService.logDebug("history clean up inactive"):window.history.replaceState({},window.document.title,window.location.origin+window.location.pathname),i.error?(o?this.loggerService.logDebug(i):this.loggerService.logWarning(i),"login_required"===i.error?this._onAuthorizationResult.next(new a(u.unauthorized,c.LoginRequired)):this._onAuthorizationResult.next(new a(u.unauthorized,c.SecureTokenServerError)),this.resetAuthorizationData(!1),this.oidcSecurityCommon.authNonce="",this.authConfiguration.trigger_authorization_result_event||o||this.router.navigate([this.authConfiguration.unauthorized_route])):(this.loggerService.logDebug(i),this.loggerService.logDebug("authorizedCallback created, begin token validation"),this.getSigningKeys().subscribe(function(e){var t=n.getValidatedStateResult(i,e);t.authResponseIsValid?(n.setAuthorizationData(t.access_token,t.id_token),n.oidcSecurityCommon.silentRenewRunning="",n.authConfiguration.auto_userinfo?n.getUserinfo(o,i,t.id_token,t.decoded_id_token).subscribe(function(e){e?(n._onAuthorizationResult.next(new a(u.authorized,t.state)),n.authConfiguration.trigger_authorization_result_event||o||n.router.navigate([n.authConfiguration.post_login_route])):(n._onAuthorizationResult.next(new a(u.unauthorized,t.state)),n.authConfiguration.trigger_authorization_result_event||o||n.router.navigate([n.authConfiguration.unauthorized_route]))},function(e){n.loggerService.logWarning("Failed to retreive user info with error: "+JSON.stringify(e))}):(o||(n.oidcSecurityUserService.setUserData(t.decoded_id_token),n.setUserData(n.oidcSecurityUserService.getUserData())),n.runTokenValidation(),n._onAuthorizationResult.next(new a(u.authorized,t.state)),n.authConfiguration.trigger_authorization_result_event||o||n.router.navigate([n.authConfiguration.post_login_route]))):(n.loggerService.logWarning("authorizedCallback, token(s) validation failed, resetting"),n.loggerService.logWarning(window.location.hash),n.resetAuthorizationData(!1),n.oidcSecurityCommon.silentRenewRunning="",n._onAuthorizationResult.next(new a(u.unauthorized,t.state)),n.authConfiguration.trigger_authorization_result_event||o||n.router.navigate([n.authConfiguration.unauthorized_route]))},function(e){n.loggerService.logWarning("Failed to retreive siging key with error: "+JSON.stringify(e)),n.oidcSecurityCommon.silentRenewRunning=""}))},e.prototype.getUserinfo=function(e,i,t,o){var n=this;return void 0===e&&(e=!1),i=i||this.oidcSecurityCommon.authResult,t=t||this.oidcSecurityCommon.idToken,o=o||this.tokenHelperService.getPayloadFromToken(t,!1),new p.Observable(function(t){"id_token token"===n.authConfiguration.response_type||"code"===n.authConfiguration.response_type?e&&n._userData.value?(n.oidcSecurityCommon.sessionState=i.session_state,t.next(!0),t.complete()):n.oidcSecurityUserService.initUserData().subscribe(function(){n.loggerService.logDebug("authorizedCallback (id_token token || code) flow");var e=n.oidcSecurityUserService.getUserData();n.oidcSecurityValidation.validate_userdata_sub_id_token(o.sub,e.sub)?(n.setUserData(e),n.loggerService.logDebug(n.oidcSecurityCommon.accessToken),n.loggerService.logDebug(n.oidcSecurityUserService.getUserData()),n.oidcSecurityCommon.sessionState=i.session_state,n.runTokenValidation(),t.next(!0)):(n.loggerService.logWarning("authorizedCallback, User data sub does not match sub in id_token"),n.loggerService.logDebug("authorizedCallback, token(s) validation failed, resetting"),n.resetAuthorizationData(!1),t.next(!1)),t.complete()}):(n.loggerService.logDebug("authorizedCallback id_token flow"),n.loggerService.logDebug(n.oidcSecurityCommon.accessToken),n.oidcSecurityUserService.setUserData(o),n.setUserData(n.oidcSecurityUserService.getUserData()),n.oidcSecurityCommon.sessionState=i.session_state,n.runTokenValidation(),t.next(!0),t.complete())})},e.prototype.logoff=function(e){if(this.loggerService.logDebug("BEGIN Authorize, no auth data"),this.authWellKnownEndpoints)if(this.authWellKnownEndpoints.end_session_endpoint){var t=this.authWellKnownEndpoints.end_session_endpoint,i=this.oidcSecurityCommon.idToken,o=this.createEndSessionUrl(t,i);this.resetAuthorizationData(!1),this.authConfiguration.start_checksession&&this.checkSessionChanged?this.loggerService.logDebug("only local login cleaned up, server session has changed"):e?e(o):this.redirectTo(o)}else this.resetAuthorizationData(!1),this.loggerService.logDebug("only local login cleaned up, no end_session_endpoint");else this.loggerService.logWarning("authWellKnownEndpoints is undefined")},e.prototype.refreshSession=function(){if(!this.authConfiguration.silent_renew)return p.from([!1]);this.loggerService.logDebug("BEGIN refresh session Authorize");var e=this.oidcSecurityCommon.authStateControl;""!==e&&null!==e||(e=Date.now()+""+Math.random()+Math.random(),this.oidcSecurityCommon.authStateControl=e);var t="N"+Math.random()+Date.now();this.oidcSecurityCommon.authNonce=t,this.loggerService.logDebug("RefreshSession created. adding myautostate: "+this.oidcSecurityCommon.authStateControl);var i="";if("code"===this.authConfiguration.response_type){var o="C"+Math.random()+Date.now()+Date.now()+Math.random(),n=this.oidcSecurityValidation.generate_code_verifier(o);this.oidcSecurityCommon.code_verifier=o,this.authWellKnownEndpoints?i=this.createAuthorizeUrl(!0,n,this.authConfiguration.silent_redirect_url,t,e,this.authWellKnownEndpoints.authorization_endpoint,"none"):this.loggerService.logWarning("authWellKnownEndpoints is undefined")}else this.authWellKnownEndpoints?i=this.createAuthorizeUrl(!1,"",this.authConfiguration.silent_redirect_url,t,e,this.authWellKnownEndpoints.authorization_endpoint,"none"):this.loggerService.logWarning("authWellKnownEndpoints is undefined");return this.oidcSecurityCommon.silentRenewRunning="running",this.oidcSecuritySilentRenew.startRenew(i)},e.prototype.handleError=function(e){if(this.loggerService.logError(e),403===e.status||"403"===e.status)this.authConfiguration.trigger_authorization_result_event?this._onAuthorizationResult.next(new a(u.unauthorized,c.NotSet)):this.router.navigate([this.authConfiguration.forbidden_route]);else if(401===e.status||"401"===e.status){var t=this.oidcSecurityCommon.silentRenewRunning;this.resetAuthorizationData(!!t),this.authConfiguration.trigger_authorization_result_event?this._onAuthorizationResult.next(new a(u.unauthorized,c.NotSet)):this.router.navigate([this.authConfiguration.unauthorized_route])}},e.prototype.startCheckingSilentRenew=function(){this.runTokenValidation()},e.prototype.stopCheckingSilentRenew=function(){this._scheduledHeartBeat&&(clearTimeout(this._scheduledHeartBeat),this._scheduledHeartBeat=null,this.runTokenValidationRunning=!1)},e.prototype.resetAuthorizationData=function(e){e||(this.authConfiguration.auto_userinfo&&this.setUserData(""),this.oidcSecurityCommon.resetStorageData(e),this.checkSessionChanged=!1,this.setIsAuthorized(!1))},e.prototype.getEndSessionUrl=function(){if(this.authWellKnownEndpoints&&this.authWellKnownEndpoints.end_session_endpoint){var e=this.authWellKnownEndpoints.end_session_endpoint,t=this.oidcSecurityCommon.idToken;return this.createEndSessionUrl(e,t)}},e.prototype.getValidatedStateResult=function(e,t){return e.error?new l("","",!1,{}):this.stateValidationService.validateState(e,t)},e.prototype.setUserData=function(e){this.oidcSecurityCommon.userData=e,this._userData.next(e)},e.prototype.setIsAuthorized=function(e){this._isAuthorized.next(e)},e.prototype.setAuthorizationData=function(e,t){""!==this.oidcSecurityCommon.accessToken&&(this.oidcSecurityCommon.accessToken=""),this.loggerService.logDebug(e),this.loggerService.logDebug(t),this.loggerService.logDebug("storing to storage, getting the roles"),this.oidcSecurityCommon.accessToken=e,this.oidcSecurityCommon.idToken=t,this.setIsAuthorized(!0),this.oidcSecurityCommon.isAuthorized=!0},e.prototype.createAuthorizeUrl=function(e,t,i,o,n,r,s){var a=r.split("?"),u=a[0],c=new h.HttpParams({fromString:a[1],encoder:new F});c=(c=(c=(c=(c=(c=c.set("client_id",this.authConfiguration.client_id)).append("redirect_uri",i)).append("response_type",this.authConfiguration.response_type)).append("scope",this.authConfiguration.scope)).append("nonce",o)).append("state",n),e&&(c=(c=c.append("code_challenge",t)).append("code_challenge_method","S256")),s&&(c=c.append("prompt",s)),this.authConfiguration.hd_param&&(c=c.append("hd",this.authConfiguration.hd_param));var l=Object.assign({},this.oidcSecurityCommon.customRequestParams);return Object.keys(l).forEach(function(e){c=c.append(e,l[e].toString())}),u+"?"+c},e.prototype.createEndSessionUrl=function(e,t){var i=e.split("?"),o=i[0],n=new h.HttpParams({fromString:i[1],encoder:new F});return o+"?"+(n=(n=n.set("id_token_hint",t)).append("post_logout_redirect_uri",this.authConfiguration.post_logout_redirect_uri))},e.prototype.getSigningKeys=function(){return this.authWellKnownEndpoints?(this.loggerService.logDebug("jwks_uri: "+this.authWellKnownEndpoints.jwks_uri),this.oidcDataService.get(this.authWellKnownEndpoints.jwks_uri).pipe(f.catchError(this.handleErrorGetSigningKeys))):(this.loggerService.logWarning("getSigningKeys: authWellKnownEndpoints is undefined"),this.oidcDataService.get("undefined").pipe(f.catchError(this.handleErrorGetSigningKeys)))},e.prototype.handleErrorGetSigningKeys=function(e){var t;if(e instanceof Response){var i=e.json()||{},o=JSON.stringify(i);t=e.status+" - "+(e.statusText||"")+" "+o}else t=e.message?e.message:e.toString();return console.error(t),p.throwError(t)},e.prototype.runTokenValidation=function(){var t=this;if(!this.runTokenValidationRunning&&this.authConfiguration.silent_renew){this.runTokenValidationRunning=!0,this.loggerService.logDebug("runTokenValidation silent-renew running");var i=function(){if(t.loggerService.logDebug("silentRenewHeartBeatCheck\r\n\tsilentRenewRunning: "+("running"===t.oidcSecurityCommon.silentRenewRunning)+"\r\n\tidToken: "+!!t.getIdToken()+"\r\n\t_userData.value: "+!!t._userData.value),t._userData.value&&"running"!==t.oidcSecurityCommon.silentRenewRunning&&t.getIdToken()&&t.oidcSecurityValidation.isTokenExpired(t.oidcSecurityCommon.idToken,t.authConfiguration.silent_renew_offset_in_seconds)){if(t.loggerService.logDebug("IsAuthorized: id_token isTokenExpired, start silent renew if active"),t.authConfiguration.silent_renew)return void t.refreshSession().subscribe(function(){t._scheduledHeartBeat=setTimeout(i,3e3)},function(e){t.loggerService.logError("Error: "+e),t._scheduledHeartBeat=setTimeout(i,3e3)});t.resetAuthorizationData(!1)}t._scheduledHeartBeat=setTimeout(i,3e3)};this.zone.runOutsideAngular(function(){t._scheduledHeartBeat=setTimeout(i,1e4)})}},e.prototype.silentRenewEventHandler=function(e){if(this.loggerService.logDebug("silentRenewEventHandler"),"code"===this.authConfiguration.response_type){var t=e.detail.toString().split("?"),i=new h.HttpParams({fromString:t[1]}),o=i.get("code"),n=i.get("state"),r=i.get("session_state"),s=i.get("error");o&&n&&this.requestTokensWithCodeProcedure(o,n,r),s&&(this._onAuthorizationResult.next(new a(u.unauthorized,c.LoginRequired)),this.resetAuthorizationData(!1),this.oidcSecurityCommon.authNonce="",this.loggerService.logDebug(e.detail.toString()))}else this.authorizedImplicitFlowCallback(e.detail)},e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[{type:_},{type:z},{type:g},{type:i.Router},{type:R},{type:W},{type:j},{type:k},{type:D},{type:m},{type:y},{type:o.NgZone},{type:h.HttpClient}]},e}(),T=function(){function t(){}return t.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[O,P,D,R,W,j,k,g,m,y,S,v,r,_,z,{provide:b,useClass:e.storage||C}]}},t.decorators=[{type:o.NgModule}],t}();e.AuthWellKnownEndpoints=r,e.AuthorizationResult=a,e.AuthorizationState=u,e.JwtKeys=n,e.JwtKey=s,e.ValidateStateResult=l,e.ValidationResult=c,e.OpenIDImplicitFlowConfiguration=d,e.AuthConfiguration=g,e.AuthModule=T,e.OidcConfigService=O,e.OidcSecurityService=P,e.OidcSecurityStorage=b,e.BrowserStorage=C,e.OidcSecurityValidation=D,e.TokenHelperService=m,e.ɵa=_,e.ɵg=S,e.ɵd=v,e.ɵb=z,e.ɵe=y,e.ɵf=R,e.ɵc=k,e.ɵh=W,e.ɵi=j,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs"),require("@angular/common"),require("jsrsasign"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("angular-auth-oidc-client",["exports","@angular/core","@angular/common/http","rxjs","@angular/common","jsrsasign","rxjs/operators","@angular/router"],t):t((e=e||self)["angular-auth-oidc-client"]={},e.ng.core,e.ng.common.http,e.rxjs,e.ng.common,e.jsrsasign,e.rxjs.operators,e.ng.router)}(this,function(e,t,i,o,n,r,s,a){"use strict";var u=function(){return(u=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};function c(e){var t="function"==typeof Symbol&&e[Symbol.iterator],i=0;return t?t.call(e):{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}}}var d=function(){return function(e,t){this.authorizationState=e,this.validationResult=t}}(),l={authorized:"authorized",forbidden:"forbidden",unauthorized:"unauthorized"},g=function(){return function(){this.keys=[]}}(),h=function(){return function(){this.kty="",this.use="",this.kid="",this.x5t="",this.e="",this.n="",this.x5c=[]}}(),p={NotSet:"NotSet",StatesDoNotMatch:"StatesDoNotMatch",SignatureFailed:"SignatureFailed",IncorrectNonce:"IncorrectNonce",RequiredPropertyMissing:"RequiredPropertyMissing",MaxOffsetExpired:"MaxOffsetExpired",IssDoesNotMatchIssuer:"IssDoesNotMatchIssuer",NoAuthWellKnownEndPoints:"NoAuthWellKnownEndPoints",IncorrectAud:"IncorrectAud",TokenExpired:"TokenExpired",IncorrectAtHash:"IncorrectAtHash",Ok:"Ok",LoginRequired:"LoginRequired",SecureTokenServerError:"SecureTokenServerError"},f=function(){return function(e,t,i,o,n){void 0===e&&(e=""),void 0===t&&(t=""),void 0===i&&(i=!1),void 0===o&&(o={}),void 0===n&&(n=p.NotSet),this.access_token=e,this.id_token=t,this.authResponseIsValid=i,this.decoded_id_token=o,this.state=n}}(),_=function(){function e(e){this.httpClient=e}return e.prototype.getWellknownEndpoints=function(e){var t=new i.HttpHeaders;return t=t.set("Accept","application/json"),this.httpClient.get(e,{headers:t})},e.prototype.getIdentityUserData=function(e,t){var o=new i.HttpHeaders;return o=(o=o.set("Accept","application/json")).set("Authorization","Bearer "+decodeURIComponent(t)),this.httpClient.get(e,{headers:o})},e.prototype.get=function(e){var t=new i.HttpHeaders;return t=t.set("Accept","application/json"),this.httpClient.get(e,{headers:t})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:i.HttpClient}]},e}(),v=function(){function e(e){this.platformId=e}return Object.defineProperty(e.prototype,"isBrowser",{get:function(){return n.isPlatformBrowser(this.platformId)},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:Object,decorators:[{type:t.Inject,args:[t.PLATFORM_ID]}]}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(t.PLATFORM_ID))},token:e,providedIn:"root"}),e}(),S=function(){function e(e){this.platformProvider=e,this.DEFAULT_CONFIG={stsServer:"https://please_set",redirect_url:"https://please_set",client_id:"please_set",response_type:"code",scope:"openid email profile",hd_param:"",post_logout_redirect_uri:"https://please_set",start_checksession:!1,silent_renew:!1,silent_renew_url:"https://please_set",silent_renew_offset_in_seconds:0,post_login_route:"/",forbidden_route:"/forbidden",unauthorized_route:"/unauthorized",auto_userinfo:!0,auto_clean_state_after_authentication:!0,trigger_authorization_result_event:!1,log_console_warning_active:!0,log_console_debug_active:!1,iss_validation_off:!1,history_cleanup_off:!1,max_id_token_iat_offset_allowed_in_seconds:3,disable_iat_offset_validation:!1,storage:sessionStorage},this.INITIAL_AUTHWELLKNOWN={issuer:"",jwks_uri:"",authorization_endpoint:"",token_endpoint:"",userinfo_endpoint:"",end_session_endpoint:"",check_session_iframe:"",revocation_endpoint:"",introspection_endpoint:""},this.mergedOpenIdConfiguration=this.DEFAULT_CONFIG,this.authWellKnownEndpoints=this.INITIAL_AUTHWELLKNOWN,this.onConfigurationChangeInternal=new o.Subject}return Object.defineProperty(e.prototype,"openIDConfiguration",{get:function(){return this.mergedOpenIdConfiguration},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"wellKnownEndpoints",{get:function(){return this.authWellKnownEndpoints},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onConfigurationChange",{get:function(){return this.onConfigurationChangeInternal.asObservable()},enumerable:!0,configurable:!0}),e.prototype.setup=function(e,t){this.mergedOpenIdConfiguration=u({},this.mergedOpenIdConfiguration,e),this.setSpecialCases(this.mergedOpenIdConfiguration),this.authWellKnownEndpoints=u({},t),this.onConfigurationChangeInternal.next(u({},this.mergedOpenIdConfiguration))},e.prototype.setSpecialCases=function(e){this.platformProvider.isBrowser||(e.start_checksession=!1,e.silent_renew=!1)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:v}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(v))},token:e,providedIn:"root"}),e}(),y=function(){function e(e){this.configurationProvider=e}return e.prototype.logError=function(e){console.error(e)},e.prototype.logWarning=function(e){this.configurationProvider.openIDConfiguration.log_console_warning_active&&console.warn(e)},e.prototype.logDebug=function(e){this.configurationProvider.openIDConfiguration.log_console_debug_active&&console.log(e)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:S}]},e}(),m=function(){function e(e){this.loggerService=e}return e.prototype.getExistingIFrame=function(e){var t=this.getIFrameFromParentWindow(e);return t||this.getIFrameFromWindow(e)},e.prototype.addIFrameToWindowBody=function(e){var t=window.document.createElement("iframe");return t.id=e,this.loggerService.logDebug(t),t.style.display="none",window.document.body.appendChild(t),t},e.prototype.getIFrameFromParentWindow=function(e){return window.parent.document.getElementById(e)},e.prototype.getIFrameFromWindow=function(e){return window.document.getElementById(e)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:y}]},e}(),w=function(){function e(){}return e.prototype.areEqual=function(e,t){if(!e||!t)return!1;if(this.bothValuesAreArrays(e,t))return this.arraysEqual(e,t);if(this.bothValuesAreStrings(e,t))return e===t;if(this.bothValuesAreObjects(e,t))return JSON.stringify(e).toLowerCase()===JSON.stringify(t).toLowerCase();if(this.oneValueIsStringAndTheOtherIsArray(e,t)){if(Array.isArray(e)&&this.valueIsString(t))return e[0]===t;if(Array.isArray(t)&&this.valueIsString(e))return t[0]===e}},e.prototype.oneValueIsStringAndTheOtherIsArray=function(e,t){return Array.isArray(e)&&this.valueIsString(t)||Array.isArray(t)&&this.valueIsString(e)},e.prototype.bothValuesAreObjects=function(e,t){return this.valueIsObject(e)&&this.valueIsObject(t)},e.prototype.bothValuesAreStrings=function(e,t){return this.valueIsString(e)&&this.valueIsString(t)},e.prototype.bothValuesAreArrays=function(e,t){return Array.isArray(e)&&Array.isArray(t)},e.prototype.valueIsString=function(e){return"string"==typeof e||e instanceof String},e.prototype.valueIsObject=function(e){return"object"==typeof e},e.prototype.arraysEqual=function(e,t){if(e.length!==t.length)return!1;for(var i=e.length;i--;)if(e[i]!==t[i])return!1;return!0},e.decorators=[{type:t.Injectable}],e}(),k=function(){function e(e){this.loggerService=e,this.PARTS_OF_TOKEN=3}return e.prototype.getTokenExpirationDate=function(e){if(!e.hasOwnProperty("exp"))return new Date;var t=new Date(0);return t.setUTCSeconds(e.exp),t},e.prototype.getHeaderFromToken=function(e,t){return this.tokenIsValid(e)?this.getPartOfToken(e,0,t):{}},e.prototype.getPayloadFromToken=function(e,t){return this.tokenIsValid(e)?this.getPartOfToken(e,1,t):{}},e.prototype.getSignatureFromToken=function(e,t){return this.tokenIsValid(e)?this.getPartOfToken(e,2,t):{}},e.prototype.getPartOfToken=function(e,t,i){var o=this.extractPartOfToken(e,t);if(i)return o;var n=this.urlBase64Decode(o);return JSON.parse(n)},e.prototype.urlBase64Decode=function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw Error("Illegal base64url string!")}var i="undefined"!=typeof window?window.atob(t):new Buffer(t,"base64").toString("binary");try{return decodeURIComponent(i.split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))}catch(o){return i}},e.prototype.tokenIsValid=function(e){return e?e.includes(".")?e.split(".").length===this.PARTS_OF_TOKEN||(this.loggerService.logError("token '"+e+"' is not valid --\x3e token has t have exact three dots"),!1):(this.loggerService.logError("token '"+e+"' is not valid --\x3e no dots included"),!1):(this.loggerService.logError("token '"+e+"' is not valid --\x3e token falsy"),!1)},e.prototype.extractPartOfToken=function(e,t){return e.split(".")[t]},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:y}]},e}(),C=function(){function e(){}return e.decorators=[{type:t.Injectable}],e}(),b=function(){function e(e){this.configProvider=e,this.hasStorage="undefined"!=typeof Storage}return e.prototype.read=function(e){if(this.hasStorage)return JSON.parse(this.configProvider.openIDConfiguration.storage.getItem(e+"_"+this.configProvider.openIDConfiguration.client_id))},e.prototype.write=function(e,t){this.hasStorage&&(t=t===undefined?null:t,this.configProvider.openIDConfiguration.storage.setItem(e+"_"+this.configProvider.openIDConfiguration.client_id,JSON.stringify(t)))},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:S}]},e}(),I=function(){function e(e){this.oidcSecurityStorage=e,this.storage_auth_result="authorizationResult",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_code_verifier="code_verifier",this.storage_auth_state_control="authStateControl",this.storage_session_state="session_state",this.storage_silent_renew_running="storage_silent_renew_running",this.storage_custom_request_params="storage_custom_request_params"}return Object.defineProperty(e.prototype,"authResult",{get:function(){return this.retrieve(this.storage_auth_result)},set:function(e){this.store(this.storage_auth_result,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"accessToken",{get:function(){return this.retrieve(this.storage_access_token)||""},set:function(e){this.store(this.storage_access_token,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"idToken",{get:function(){return this.retrieve(this.storage_id_token)||""},set:function(e){this.store(this.storage_id_token,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAuthorized",{get:function(){return this.retrieve(this.storage_is_authorized)},set:function(e){this.store(this.storage_is_authorized,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userData",{get:function(){return this.retrieve(this.storage_user_data)},set:function(e){this.store(this.storage_user_data,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"authNonce",{get:function(){return this.retrieve(this.storage_auth_nonce)||""},set:function(e){this.store(this.storage_auth_nonce,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"code_verifier",{get:function(){return this.retrieve(this.storage_code_verifier)||""},set:function(e){this.store(this.storage_code_verifier,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"authStateControl",{get:function(){return this.retrieve(this.storage_auth_state_control)||""},set:function(e){this.store(this.storage_auth_state_control,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"sessionState",{get:function(){return this.retrieve(this.storage_session_state)},set:function(e){this.store(this.storage_session_state,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"silentRenewRunning",{get:function(){return this.retrieve(this.storage_silent_renew_running)||""},set:function(e){this.store(this.storage_silent_renew_running,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"customRequestParams",{get:function(){return this.retrieve(this.storage_custom_request_params)},set:function(e){this.store(this.storage_custom_request_params,e)},enumerable:!0,configurable:!0}),e.prototype.retrieve=function(e){return this.oidcSecurityStorage.read(e)},e.prototype.store=function(e,t){this.oidcSecurityStorage.write(e,t)},e.prototype.resetStorageData=function(e){e||(this.store(this.storage_auth_result,""),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,""),this.store(this.storage_code_verifier,""))},e.prototype.getAccessToken=function(){return this.retrieve(this.storage_access_token)},e.prototype.getIdToken=function(){return this.retrieve(this.storage_id_token)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:C}]},e}(),D=function(){function e(e,t,i){this.arrayHelperService=e,this.tokenHelperService=t,this.loggerService=i}return e.prototype.isTokenExpired=function(e,t){var i;return i=this.tokenHelperService.getPayloadFromToken(e,!1),!this.validate_id_token_exp_not_expired(i,t)},e.prototype.validate_id_token_exp_not_expired=function(e,t){var i=this.tokenHelperService.getTokenExpirationDate(e);if(t=t||0,!i)return!1;var o=i.valueOf(),n=(new Date).valueOf()+1e3*t,r=o>n;return this.loggerService.logDebug("Token not expired?: "+o+" > "+n+" ("+r+")"),r},e.prototype.validate_required_id_token=function(e){var t=!0;return e.hasOwnProperty("iss")||(t=!1,this.loggerService.logWarning("iss is missing, this is required in the id_token")),e.hasOwnProperty("sub")||(t=!1,this.loggerService.logWarning("sub is missing, this is required in the id_token")),e.hasOwnProperty("aud")||(t=!1,this.loggerService.logWarning("aud is missing, this is required in the id_token")),e.hasOwnProperty("exp")||(t=!1,this.loggerService.logWarning("exp is missing, this is required in the id_token")),e.hasOwnProperty("iat")||(t=!1,this.loggerService.logWarning("iat is missing, this is required in the id_token")),t},e.prototype.validate_id_token_iat_max_offset=function(e,t,i){if(i)return!0;if(!e.hasOwnProperty("iat"))return!1;var o=new Date(0);return o.setUTCSeconds(e.iat),t=t||0,null!=o&&(this.loggerService.logDebug("validate_id_token_iat_max_offset: "+((new Date).valueOf()-o.valueOf())+" < "+1e3*t),(new Date).valueOf()-o.valueOf()<1e3*t)},e.prototype.validate_id_token_nonce=function(e,t){return e.nonce===t||(this.loggerService.logDebug("Validate_id_token_nonce failed, dataIdToken.nonce: "+e.nonce+" local_nonce:"+t),!1)},e.prototype.validate_id_token_iss=function(e,t){return e.iss===t||(this.loggerService.logDebug("Validate_id_token_iss failed, dataIdToken.iss: "+e.iss+" authWellKnownEndpoints issuer:"+t),!1)},e.prototype.validate_id_token_aud=function(e,t){return e.aud instanceof Array?!!this.arrayHelperService.areEqual(e.aud,t)||(this.loggerService.logDebug("Validate_id_token_aud array failed, dataIdToken.aud: "+e.aud+" client_id:"+t),!1):e.aud===t||(this.loggerService.logDebug("Validate_id_token_aud failed, dataIdToken.aud: "+e.aud+" client_id:"+t),!1)},e.prototype.validateStateFromHashCallback=function(e,t){return e===t||(this.loggerService.logDebug("ValidateStateFromHashCallback failed, state: "+e+" local_state:"+t),!1)},e.prototype.validate_userdata_sub_id_token=function(e,t){return e===t||(this.loggerService.logDebug("validate_userdata_sub_id_token failed, id_token_sub: "+e+" userdata_sub:"+t),!1)},e.prototype.validate_signature_id_token=function(e,t){var i,o,n,s,a,u;if(!t||!t.keys)return!1;var d=this.tokenHelperService.getHeaderFromToken(e,!1);if(0===Object.keys(d).length&&d.constructor===Object)return this.loggerService.logWarning("id token has no header data"),!1;var l=d.kid;if("RS256"!==d.alg)return this.loggerService.logWarning("Only RS256 supported"),!1;var g=!1;if(d.hasOwnProperty("kid"))try{for(var h=c(t.keys),p=h.next();!p.done;p=h.next()){if((m=p.value).kid===l){w=r.KEYUTIL.getKey(m);return(g=r.KJUR.jws.JWS.verify(e,w,["RS256"]))||this.loggerService.logWarning("incorrect Signature, validation failed for id_token"),g}}}catch(k){a={error:k}}finally{try{p&&!p.done&&(u=h["return"])&&u.call(h)}finally{if(a)throw a.error}}else{var f=0;try{for(var _=c(t.keys),v=_.next();!v.done;v=_.next()){"RSA"===(m=v.value).kty&&"sig"===m.use&&(f+=1)}}catch(C){i={error:C}}finally{try{v&&!v.done&&(o=_["return"])&&o.call(_)}finally{if(i)throw i.error}}if(0===f)return this.loggerService.logWarning("no keys found, incorrect Signature, validation failed for id_token"),!1;if(f>1)return this.loggerService.logWarning("no ID Token kid claim in JOSE header and multiple supplied in jwks_uri"),!1;try{for(var S=c(t.keys),y=S.next();!y.done;y=S.next()){var m;if("RSA"===(m=y.value).kty&&"sig"===m.use){var w=r.KEYUTIL.getKey(m);return(g=r.KJUR.jws.JWS.verify(e,w,["RS256"]))||this.loggerService.logWarning("incorrect Signature, validation failed for id_token"),g}}}catch(b){n={error:b}}finally{try{y&&!y.done&&(s=S["return"])&&s.call(S)}finally{if(n)throw n.error}}}return g},e.prototype.config_validate_response_type=function(e){return"id_token token"===e||"id_token"===e||("code"===e||(this.loggerService.logWarning("module configure incorrect, invalid response_type:"+e),!1))},e.prototype.validate_id_token_at_hash=function(e,t,i){if(this.loggerService.logDebug("at_hash from the server:"+t),i&&!t)return this.loggerService.logDebug("Code Flow active, and no at_hash in the id_token, skipping check!"),!0;var o=this.generate_at_hash(""+e);if(this.loggerService.logDebug("at_hash client validation not decoded:"+o),o===t)return!0;var n=this.generate_at_hash(""+decodeURIComponent(e));return this.loggerService.logDebug("-gen access--"+n),n===t},e.prototype.generate_at_hash=function(e){var t=r.KJUR.crypto.Util.hashString(e,"sha256"),i=t.substr(0,t.length/2);return r.hextob64u(i)},e.prototype.generate_code_verifier=function(e){var t=r.KJUR.crypto.Util.hashString(e,"sha256");return r.hextob64u(t)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:w},{type:k},{type:y}]},e}(),P=function(){function e(e,t,i,o,n){this.oidcSecurityCommon=e,this.oidcSecurityValidation=t,this.tokenHelperService=i,this.loggerService=o,this.configurationProvider=n}return e.prototype.validateState=function(e,t){var i=new f;if(!this.oidcSecurityValidation.validateStateFromHashCallback(e.state,this.oidcSecurityCommon.authStateControl))return this.loggerService.logWarning("authorizedCallback incorrect state"),i.state=p.StatesDoNotMatch,this.handleUnsuccessfulValidation(),i;if("id_token token"!==this.configurationProvider.openIDConfiguration.response_type&&"code"!==this.configurationProvider.openIDConfiguration.response_type||(i.access_token=e.access_token),i.id_token=e.id_token,i.decoded_id_token=this.tokenHelperService.getPayloadFromToken(i.id_token,!1),!this.oidcSecurityValidation.validate_signature_id_token(i.id_token,t))return this.loggerService.logDebug("authorizedCallback Signature validation failed id_token"),i.state=p.SignatureFailed,this.handleUnsuccessfulValidation(),i;if(!this.oidcSecurityValidation.validate_id_token_nonce(i.decoded_id_token,this.oidcSecurityCommon.authNonce))return this.loggerService.logWarning("authorizedCallback incorrect nonce"),i.state=p.IncorrectNonce,this.handleUnsuccessfulValidation(),i;if(!this.oidcSecurityValidation.validate_required_id_token(i.decoded_id_token))return this.loggerService.logDebug("authorizedCallback Validation, one of the REQUIRED properties missing from id_token"),i.state=p.RequiredPropertyMissing,this.handleUnsuccessfulValidation(),i;if(!this.oidcSecurityValidation.validate_id_token_iat_max_offset(i.decoded_id_token,this.configurationProvider.openIDConfiguration.max_id_token_iat_offset_allowed_in_seconds,this.configurationProvider.openIDConfiguration.disable_iat_offset_validation))return this.loggerService.logWarning("authorizedCallback Validation, iat rejected id_token was issued too far away from the current time"),i.state=p.MaxOffsetExpired,this.handleUnsuccessfulValidation(),i;if(!this.configurationProvider.wellKnownEndpoints)return this.loggerService.logWarning("authWellKnownEndpoints is undefined"),i.state=p.NoAuthWellKnownEndPoints,this.handleUnsuccessfulValidation(),i;if(this.configurationProvider.openIDConfiguration.iss_validation_off)this.loggerService.logDebug("iss validation is turned off, this is not recommended!");else if(!this.configurationProvider.openIDConfiguration.iss_validation_off&&!this.oidcSecurityValidation.validate_id_token_iss(i.decoded_id_token,this.configurationProvider.wellKnownEndpoints.issuer))return this.loggerService.logWarning("authorizedCallback incorrect iss does not match authWellKnownEndpoints issuer"),i.state=p.IssDoesNotMatchIssuer,this.handleUnsuccessfulValidation(),i;return this.oidcSecurityValidation.validate_id_token_aud(i.decoded_id_token,this.configurationProvider.openIDConfiguration.client_id)?this.oidcSecurityValidation.validate_id_token_exp_not_expired(i.decoded_id_token)?"id_token token"!==this.configurationProvider.openIDConfiguration.response_type&&"code"!==this.configurationProvider.openIDConfiguration.response_type?(i.authResponseIsValid=!0,i.state=p.Ok,this.handleSuccessfulValidation(),this.handleUnsuccessfulValidation(),i):this.oidcSecurityValidation.validate_id_token_at_hash(i.access_token,i.decoded_id_token.at_hash,"code"===this.configurationProvider.openIDConfiguration.response_type)&&i.access_token?(i.authResponseIsValid=!0,i.state=p.Ok,this.handleSuccessfulValidation(),i):(this.loggerService.logWarning("authorizedCallback incorrect at_hash"),i.state=p.IncorrectAtHash,this.handleUnsuccessfulValidation(),i):(this.loggerService.logWarning("authorizedCallback token expired"),i.state=p.TokenExpired,this.handleUnsuccessfulValidation(),i):(this.loggerService.logWarning("authorizedCallback incorrect aud"),i.state=p.IncorrectAud,this.handleUnsuccessfulValidation(),i)},e.prototype.handleSuccessfulValidation=function(){this.oidcSecurityCommon.authNonce="",this.configurationProvider.openIDConfiguration.auto_clean_state_after_authentication&&(this.oidcSecurityCommon.authStateControl=""),this.loggerService.logDebug("AuthorizedCallback token(s) validated, continue")},e.prototype.handleUnsuccessfulValidation=function(){this.oidcSecurityCommon.authNonce="",this.configurationProvider.openIDConfiguration.auto_clean_state_after_authentication&&(this.oidcSecurityCommon.authStateControl=""),this.loggerService.logDebug("AuthorizedCallback token(s) invalid")},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:I},{type:D},{type:k},{type:y},{type:S}]},e}(),E=function(){function e(e,t,i,n,r){this.oidcSecurityCommon=e,this.loggerService=t,this.iFrameService=i,this.zone=n,this.configurationProvider=r,this.lastIFrameRefresh=0,this.outstandingMessages=0,this.heartBeatInterval=3e3,this.iframeRefreshInterval=6e4,this._onCheckSessionChanged=new o.Subject}return Object.defineProperty(e.prototype,"onCheckSessionChanged",{get:function(){return this._onCheckSessionChanged.asObservable()},enumerable:!0,configurable:!0}),e.prototype.doesSessionExist=function(){var e=this.iFrameService.getExistingIFrame("myiFrameForCheckSession");return!!e&&(this.sessionIframe=e,!0)},e.prototype.init=function(){var e=this;return this.lastIFrameRefresh+this.iframeRefreshInterval>Date.now()?o.from([this]):(this.doesSessionExist()||(this.sessionIframe=this.iFrameService.addIFrameToWindowBody("myiFrameForCheckSession"),this.iframeMessageEvent=this.messageHandler.bind(this),window.addEventListener("message",this.iframeMessageEvent,!1)),this.configurationProvider.wellKnownEndpoints?(this.configurationProvider.wellKnownEndpoints.check_session_iframe?this.sessionIframe.contentWindow.location.replace(this.configurationProvider.wellKnownEndpoints.check_session_iframe):this.loggerService.logWarning("init check session: authWellKnownEndpoints is undefined"),o.Observable.create(function(t){e.sessionIframe.onload=function(){e.lastIFrameRefresh=Date.now(),t.next(e),t.complete()}})):void this.loggerService.logWarning("init check session: authWellKnownEndpoints is undefined. Returning."))},e.prototype.startCheckingSession=function(e){this.scheduledHeartBeat||this.pollServerSession(e)},e.prototype.stopCheckingSession=function(){this.scheduledHeartBeat&&this.clearScheduledHeartBeat()},e.prototype.pollServerSession=function(e){var t=this,i=function(){t.init().pipe(s.take(1)).subscribe(function(){if(t.sessionIframe&&e){t.loggerService.logDebug(t.sessionIframe);var o=t.oidcSecurityCommon.sessionState;o?(t.outstandingMessages++,t.sessionIframe.contentWindow.postMessage(e+" "+o,t.configurationProvider.openIDConfiguration.stsServer)):(t.loggerService.logDebug("OidcSecurityCheckSession pollServerSession session_state is blank"),t._onCheckSessionChanged.next())}else t.loggerService.logWarning("OidcSecurityCheckSession pollServerSession sessionIframe does not exist"),t.loggerService.logDebug(e),t.loggerService.logDebug(t.sessionIframe);t.outstandingMessages>3&&(t.loggerService.logError("OidcSecurityCheckSession not receiving check session response messages. Outstanding messages: "+t.outstandingMessages+". Server unreachable?"),t._onCheckSessionChanged.next()),t.scheduledHeartBeat=setTimeout(i,t.heartBeatInterval)})};this.outstandingMessages=0,this.zone.runOutsideAngular(function(){t.scheduledHeartBeat=setTimeout(i,t.heartBeatInterval)})},e.prototype.clearScheduledHeartBeat=function(){clearTimeout(this.scheduledHeartBeat),this.scheduledHeartBeat=null},e.prototype.messageHandler=function(e){this.outstandingMessages=0,this.sessionIframe&&e.origin===this.configurationProvider.openIDConfiguration.stsServer&&e.source===this.sessionIframe.contentWindow&&("error"===e.data?this.loggerService.logWarning("error from checksession messageHandler"):"changed"===e.data?this._onCheckSessionChanged.next():this.loggerService.logDebug(e.data+" from checksession messageHandler"))},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:I},{type:y},{type:m},{type:t.NgZone},{type:S}]},e}(),z=function(){function e(e){this.httpClient=e,this.configurationLoadedInternal=new o.Subject}return Object.defineProperty(e.prototype,"onConfigurationLoaded",{get:function(){return this.configurationLoadedInternal.asObservable()},enumerable:!0,configurable:!0}),e.prototype.load=function(e){var t=this;return this.httpClient.get(e).pipe(s.switchMap(function(e){return t.loadUsingConfiguration(e)}),s.catchError(function(i){return console.error("OidcConfigService 'load' threw an error on calling "+e,i),t.configurationLoadedInternal.next(undefined),o.of(!1)})).toPromise()},e.prototype.load_using_stsServer=function(e){return this.loadUsingConfiguration({stsServer:e}).toPromise()},e.prototype.load_using_custom_stsServer=function(e){var t=this;return this.httpClient.get(e).pipe(s.switchMap(function(i){return t.configurationLoadedInternal.next({authWellknownEndpoints:i,customConfig:{stsServer:e}}),o.of(!0)}),s.catchError(function(i){return console.error("OidcConfigService 'load_using_custom_stsServer' threw an error on calling "+e,i),t.configurationLoadedInternal.next(undefined),o.of(!1)})).toPromise()},e.prototype.loadUsingConfiguration=function(e){var t=this;if(!e.stsServer)throw console.error("Property 'stsServer' is not present of passed config "+JSON.stringify(e),e),new Error("Property 'stsServer' is not present of passed config "+JSON.stringify(e));var i=e.stsServer+"/.well-known/openid-configuration";return this.httpClient.get(i).pipe(s.switchMap(function(i){return t.configurationLoadedInternal.next({authWellknownEndpoints:i,customConfig:e}),o.of(!0)}),s.catchError(function(e){return console.error("OidcConfigService 'load_using_stsServer' threw an error on calling "+i,e),t.configurationLoadedInternal.next(undefined),o.of(!1)}))},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:i.HttpClient}]},e}(),R=function(){function e(e,t){this.loggerService=e,this.iFrameService=t,this.isRenewInitialized=!1}return e.prototype.initRenew=function(){this.iFrameService.getExistingIFrame("myiFrameForSilentRenew")||this.iFrameService.addIFrameToWindowBody("myiFrameForSilentRenew"),this.isRenewInitialized=!0},e.prototype.startRenew=function(e){var t=this;return this.isRenewInitialized||this.initRenew(),this.sessionIframe=this.iFrameService.getExistingIFrame("myiFrameForSilentRenew"),this.loggerService.logDebug("startRenew for URL:"+e),this.sessionIframe.contentWindow.location.replace(e),o.Observable.create(function(e){t.sessionIframe.onload=function(){e.next(t),e.complete()}})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:y},{type:m}]},e}(),A=function(){function e(e,t,i,o){this.oidcDataService=e,this.oidcSecurityCommon=t,this.loggerService=i,this.configurationProvider=o,this.userData=""}return e.prototype.initUserData=function(){var e=this;return this.getIdentityUserData().pipe(s.map(function(t){return e.userData=t}))},e.prototype.getUserData=function(){if(!this.userData)throw Error("UserData is not set!");return this.userData},e.prototype.setUserData=function(e){this.userData=e},e.prototype.getIdentityUserData=function(){var e=this.oidcSecurityCommon.getAccessToken();if(!this.configurationProvider.wellKnownEndpoints)throw this.loggerService.logWarning("init check session: authWellKnownEndpoints is undefined"),Error("authWellKnownEndpoints is undefined");if(!(this.configurationProvider.wellKnownEndpoints&&this.configurationProvider.wellKnownEndpoints.userinfo_endpoint))throw this.loggerService.logError("init check session: authWellKnownEndpoints.userinfo_endpoint is undefined; set auto_userinfo = false in config"),Error("authWellKnownEndpoints.userinfo_endpoint is undefined");return this.oidcDataService.getIdentityUserData(this.configurationProvider.wellKnownEndpoints.userinfo_endpoint||"",e)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:_},{type:I},{type:y},{type:S}]},e}(),O=function(){function e(){}return e.prototype.encodeKey=function(e){return encodeURIComponent(e)},e.prototype.encodeValue=function(e){return encodeURIComponent(e)},e.prototype.decodeKey=function(e){return decodeURIComponent(e)},e.prototype.decodeValue=function(e){return decodeURIComponent(e)},e}(),T=function(){function e(e,t,i,n,r,a,u,c,d,l,g,h,p){var f=this;this.oidcDataService=e,this.stateValidationService=t,this.router=i,this.oidcSecurityCheckSession=n,this.oidcSecuritySilentRenew=r,this.oidcSecurityUserService=a,this.oidcSecurityCommon=u,this.oidcSecurityValidation=c,this.tokenHelperService=d,this.loggerService=l,this.zone=g,this.httpClient=h,this.configurationProvider=p,this._onModuleSetup=new o.Subject,this._onCheckSessionChanged=new o.Subject,this._onAuthorizationResult=new o.Subject,this.checkSessionChanged=!1,this.moduleSetup=!1,this._isModuleSetup=new o.BehaviorSubject(!1),this._isAuthorized=new o.BehaviorSubject(!1),this._userData=new o.BehaviorSubject(""),this.authWellKnownEndpointsLoaded=!1,this.runTokenValidationRunning=!1,this.onModuleSetup.pipe(s.take(1)).subscribe(function(){f.moduleSetup=!0,f._isModuleSetup.next(!0)}),this._isSetupAndAuthorized=this._isModuleSetup.pipe(s.filter(function(e){return e}),s.switchMap(function(){if(!f.configurationProvider.openIDConfiguration.silent_renew)return f.loggerService.logDebug("IsAuthorizedRace: Silent Renew Not Active. Emitting."),o.from([!0]);var e=f._isAuthorized.asObservable().pipe(s.filter(function(e){return e}),s.take(1),s.tap(function(){return f.loggerService.logDebug("IsAuthorizedRace: Existing token is still authorized.")}),s.race(f._onAuthorizationResult.pipe(s.take(1),s.tap(function(){return f.loggerService.logDebug("IsAuthorizedRace: Silent Renew Refresh Session Complete")}),s.map(function(){return!0})),o.timer(5e3).pipe(s.tap(function(){f.resetAuthorizationData(!1),f.oidcSecurityCommon.authNonce="",f.loggerService.logWarning("IsAuthorizedRace: Timeout reached. Emitting.")}),s.map(function(){return!0}))));return f.loggerService.logDebug("Silent Renew is active, check if token in storage is active"),""!==f.oidcSecurityCommon.authNonce&&f.oidcSecurityCommon.authNonce!==undefined||(f.loggerService.logDebug("Silent Renew or login not running, try to refresh the session"),f.refreshSession()),e}),s.tap(function(){return f.loggerService.logDebug("IsAuthorizedRace: Completed")}),s.switchMapTo(this._isAuthorized.asObservable()),s.tap(function(e){return f.loggerService.logDebug("getIsAuthorized: "+e)}),s.shareReplay(1)),this._isSetupAndAuthorized.pipe(s.filter(function(){return f.configurationProvider.openIDConfiguration.start_checksession})).subscribe(function(e){e?f.oidcSecurityCheckSession.startCheckingSession(f.configurationProvider.openIDConfiguration.client_id):f.oidcSecurityCheckSession.stopCheckingSession()})}return Object.defineProperty(e.prototype,"onModuleSetup",{get:function(){return this._onModuleSetup.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onAuthorizationResult",{get:function(){return this._onAuthorizationResult.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCheckSessionChanged",{get:function(){return this._onCheckSessionChanged.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onConfigurationChange",{get:function(){return this.configurationProvider.onConfigurationChange},enumerable:!0,configurable:!0}),e.prototype.setupModule=function(e,t){var i=this;this.configurationProvider.setup(e,t),this.oidcSecurityCheckSession.onCheckSessionChanged.subscribe(function(){i.loggerService.logDebug("onCheckSessionChanged"),i.checkSessionChanged=!0,i._onCheckSessionChanged.next(i.checkSessionChanged)});var o=this.oidcSecurityCommon.userData;o&&this.setUserData(o);var n=this.oidcSecurityCommon.isAuthorized;if(n&&(this.loggerService.logDebug("IsAuthorized setup module"),this.loggerService.logDebug(this.oidcSecurityCommon.idToken),this.oidcSecurityValidation.isTokenExpired(this.oidcSecurityCommon.idToken,this.configurationProvider.openIDConfiguration.silent_renew_offset_in_seconds)?this.loggerService.logDebug("IsAuthorized setup module; id_token isTokenExpired"):(this.loggerService.logDebug("IsAuthorized setup module; id_token is valid"),this.setIsAuthorized(n)),this.runTokenValidation()),this.loggerService.logDebug("STS server: "+this.configurationProvider.openIDConfiguration.stsServer),this._onModuleSetup.next(),this.configurationProvider.openIDConfiguration.silent_renew){this.oidcSecuritySilentRenew.initRenew(),this.boundSilentRenewEvent=this.silentRenewEventHandler.bind(this);var r=Math.random(),s=function(e){e.detail!==r&&(window.removeEventListener("oidc-silent-renew-message",i.boundSilentRenewEvent),window.removeEventListener("oidc-silent-renew-init",s))}.bind(this);window.addEventListener("oidc-silent-renew-init",s,!1),window.addEventListener("oidc-silent-renew-message",this.boundSilentRenewEvent,!1),window.dispatchEvent(new CustomEvent("oidc-silent-renew-init",{detail:r}))}},e.prototype.getUserData=function(){return this._userData.asObservable()},e.prototype.getIsModuleSetup=function(){return this._isModuleSetup.asObservable()},e.prototype.getIsAuthorized=function(){return this._isSetupAndAuthorized},e.prototype.getToken=function(){if(!this._isAuthorized.getValue())return"";var e=this.oidcSecurityCommon.getAccessToken();return decodeURIComponent(e)},e.prototype.getIdToken=function(){if(!this._isAuthorized.getValue())return"";var e=this.oidcSecurityCommon.getIdToken();return decodeURIComponent(e)},e.prototype.getPayloadFromIdToken=function(e){void 0===e&&(e=!1);var t=this.getIdToken();return this.tokenHelperService.getPayloadFromToken(t,e)},e.prototype.setState=function(e){this.oidcSecurityCommon.authStateControl=e},e.prototype.getState=function(){return this.oidcSecurityCommon.authStateControl},e.prototype.setCustomRequestParameters=function(e){this.oidcSecurityCommon.customRequestParams=e},e.prototype.authorize=function(e){if(this.configurationProvider.wellKnownEndpoints&&(this.authWellKnownEndpointsLoaded=!0),this.authWellKnownEndpointsLoaded){if(this.oidcSecurityValidation.config_validate_response_type(this.configurationProvider.openIDConfiguration.response_type)){this.resetAuthorizationData(!1),this.loggerService.logDebug("BEGIN Authorize Code Flow, no auth data");var t=this.oidcSecurityCommon.authStateControl;t||(t=Date.now()+""+Math.random()+Math.random(),this.oidcSecurityCommon.authStateControl=t);var i="N"+Math.random()+Date.now();this.oidcSecurityCommon.authNonce=i,this.loggerService.logDebug("AuthorizedController created. local state: "+this.oidcSecurityCommon.authStateControl);var o="";if("code"===this.configurationProvider.openIDConfiguration.response_type){var n="C"+Math.random()+Date.now()+Date.now()+Math.random(),r=this.oidcSecurityValidation.generate_code_verifier(n);this.oidcSecurityCommon.code_verifier=n,this.configurationProvider.wellKnownEndpoints?o=this.createAuthorizeUrl(!0,r,this.configurationProvider.openIDConfiguration.redirect_url,i,t,this.configurationProvider.wellKnownEndpoints.authorization_endpoint||""):this.loggerService.logError("authWellKnownEndpoints is undefined")}else this.configurationProvider.wellKnownEndpoints?o=this.createAuthorizeUrl(!1,"",this.configurationProvider.openIDConfiguration.redirect_url,i,t,this.configurationProvider.wellKnownEndpoints.authorization_endpoint||""):this.loggerService.logError("authWellKnownEndpoints is undefined");e?e(o):this.redirectTo(o)}}else this.loggerService.logError("Well known endpoints must be loaded before user can login!")},e.prototype.authorizedCallbackWithCode=function(e){var t=e.split("?"),o=new i.HttpParams({fromString:t[1]}),n=o.get("code"),r=o.get("state"),s=o.get("session_state");n&&r&&this.requestTokensWithCode(n,r,s)},e.prototype.requestTokensWithCode=function(e,t,i){var o=this;this._isModuleSetup.pipe(s.filter(function(e){return e}),s.take(1)).subscribe(function(){o.requestTokensWithCodeProcedure(e,t,i)})},e.prototype.requestTokensWithCodeProcedure=function(e,t,n){var r=this,a="";if(this.configurationProvider.wellKnownEndpoints&&this.configurationProvider.wellKnownEndpoints.token_endpoint&&(a=""+this.configurationProvider.wellKnownEndpoints.token_endpoint),this.oidcSecurityValidation.validateStateFromHashCallback(t,this.oidcSecurityCommon.authStateControl)){var u=new i.HttpHeaders;u=u.set("Content-Type","application/x-www-form-urlencoded");var c="grant_type=authorization_code&client_id="+this.configurationProvider.openIDConfiguration.client_id+"&code_verifier="+this.oidcSecurityCommon.code_verifier+"&code="+e+"&redirect_uri="+this.configurationProvider.openIDConfiguration.redirect_url;"running"===this.oidcSecurityCommon.silentRenewRunning&&(c="grant_type=authorization_code&client_id="+this.configurationProvider.openIDConfiguration.client_id+"&code_verifier="+this.oidcSecurityCommon.code_verifier+"&code="+e+"&redirect_uri="+this.configurationProvider.openIDConfiguration.silent_renew_url),this.httpClient.post(a,c,{headers:u}).pipe(s.map(function(e){var i=new Object;(i=e).state=t,i.session_state=n,r.authorizedCodeFlowCallbackProcedure(i)}),s.catchError(function(e){return r.loggerService.logError(e),r.loggerService.logError("OidcService code request "+r.configurationProvider.openIDConfiguration.stsServer),o.of(!1)})).subscribe()}else this.loggerService.logWarning("authorizedCallback incorrect state")},e.prototype.authorizedCodeFlowCallbackProcedure=function(e){var t="running"===this.oidcSecurityCommon.silentRenewRunning;this.loggerService.logDebug("BEGIN authorized Code Flow Callback, no auth data"),this.resetAuthorizationData(t),this.authorizedCallbackProcedure(e,t)},e.prototype.authorizedImplicitFlowCallbackProcedure=function(e){var t="running"===this.oidcSecurityCommon.silentRenewRunning;this.loggerService.logDebug("BEGIN authorizedCallback, no auth data"),this.resetAuthorizationData(t);var i=(e=e||window.location.hash.substr(1)).split("&").reduce(function(e,t){var i=t.split("=");return e[i.shift()]=i.join("="),e},{});this.authorizedCallbackProcedure(i,t)},e.prototype.authorizedImplicitFlowCallback=function(e){var t=this;this._isModuleSetup.pipe(s.filter(function(e){return e}),s.take(1)).subscribe(function(){t.authorizedImplicitFlowCallbackProcedure(e)})},e.prototype.redirectTo=function(e){window.location.href=e},e.prototype.authorizedCallbackProcedure=function(e,t){var i=this;this.oidcSecurityCommon.authResult=e,this.configurationProvider.openIDConfiguration.history_cleanup_off||t?this.loggerService.logDebug("history clean up inactive"):window.history.replaceState({},window.document.title,window.location.origin+window.location.pathname),e.error?(t?this.loggerService.logDebug(e):this.loggerService.logWarning(e),"login_required"===e.error?this._onAuthorizationResult.next(new d(l.unauthorized,p.LoginRequired)):this._onAuthorizationResult.next(new d(l.unauthorized,p.SecureTokenServerError)),this.resetAuthorizationData(!1),this.oidcSecurityCommon.authNonce="",this.configurationProvider.openIDConfiguration.trigger_authorization_result_event||t||this.router.navigate([this.configurationProvider.openIDConfiguration.unauthorized_route])):(this.loggerService.logDebug(e),this.loggerService.logDebug("authorizedCallback created, begin token validation"),this.getSigningKeys().subscribe(function(o){var n=i.getValidatedStateResult(e,o);n.authResponseIsValid?(i.setAuthorizationData(n.access_token,n.id_token),i.oidcSecurityCommon.silentRenewRunning="",i.configurationProvider.openIDConfiguration.auto_userinfo?i.getUserinfo(t,e,n.id_token,n.decoded_id_token).subscribe(function(e){e?(i._onAuthorizationResult.next(new d(l.authorized,n.state)),i.configurationProvider.openIDConfiguration.trigger_authorization_result_event||t||i.router.navigate([i.configurationProvider.openIDConfiguration.post_login_route])):(i._onAuthorizationResult.next(new d(l.unauthorized,n.state)),i.configurationProvider.openIDConfiguration.trigger_authorization_result_event||t||i.router.navigate([i.configurationProvider.openIDConfiguration.unauthorized_route]))},function(e){i.loggerService.logWarning("Failed to retreive user info with error: "+JSON.stringify(e))}):(t||(i.oidcSecurityUserService.setUserData(n.decoded_id_token),i.setUserData(i.oidcSecurityUserService.getUserData())),i.runTokenValidation(),i._onAuthorizationResult.next(new d(l.authorized,n.state)),i.configurationProvider.openIDConfiguration.trigger_authorization_result_event||t||i.router.navigate([i.configurationProvider.openIDConfiguration.post_login_route]))):(i.loggerService.logWarning("authorizedCallback, token(s) validation failed, resetting"),i.loggerService.logWarning(window.location.hash),i.resetAuthorizationData(!1),i.oidcSecurityCommon.silentRenewRunning="",i._onAuthorizationResult.next(new d(l.unauthorized,n.state)),i.configurationProvider.openIDConfiguration.trigger_authorization_result_event||t||i.router.navigate([i.configurationProvider.openIDConfiguration.unauthorized_route]))},function(e){i.loggerService.logWarning("Failed to retreive siging key with error: "+JSON.stringify(e)),i.oidcSecurityCommon.silentRenewRunning=""}))},e.prototype.getUserinfo=function(e,t,i,n){var r=this;return void 0===e&&(e=!1),t=t||this.oidcSecurityCommon.authResult,i=i||this.oidcSecurityCommon.idToken,n=n||this.tokenHelperService.getPayloadFromToken(i,!1),new o.Observable(function(i){"id_token token"===r.configurationProvider.openIDConfiguration.response_type||"code"===r.configurationProvider.openIDConfiguration.response_type?e&&r._userData.value?(r.oidcSecurityCommon.sessionState=t.session_state,i.next(!0),i.complete()):r.oidcSecurityUserService.initUserData().subscribe(function(){r.loggerService.logDebug("authorizedCallback (id_token token || code) flow");var e=r.oidcSecurityUserService.getUserData();r.oidcSecurityValidation.validate_userdata_sub_id_token(n.sub,e.sub)?(r.setUserData(e),r.loggerService.logDebug(r.oidcSecurityCommon.accessToken),r.loggerService.logDebug(r.oidcSecurityUserService.getUserData()),r.oidcSecurityCommon.sessionState=t.session_state,r.runTokenValidation(),i.next(!0)):(r.loggerService.logWarning("authorizedCallback, User data sub does not match sub in id_token"),r.loggerService.logDebug("authorizedCallback, token(s) validation failed, resetting"),r.resetAuthorizationData(!1),i.next(!1)),i.complete()}):(r.loggerService.logDebug("authorizedCallback id_token flow"),r.loggerService.logDebug(r.oidcSecurityCommon.accessToken),r.oidcSecurityUserService.setUserData(n),r.setUserData(r.oidcSecurityUserService.getUserData()),r.oidcSecurityCommon.sessionState=t.session_state,r.runTokenValidation(),i.next(!0),i.complete())})},e.prototype.logoff=function(e){if(this.loggerService.logDebug("BEGIN Authorize, no auth data"),this.configurationProvider.wellKnownEndpoints)if(this.configurationProvider.wellKnownEndpoints.end_session_endpoint){var t=this.configurationProvider.wellKnownEndpoints.end_session_endpoint,i=this.oidcSecurityCommon.idToken,o=this.createEndSessionUrl(t,i);this.resetAuthorizationData(!1),this.configurationProvider.openIDConfiguration.start_checksession&&this.checkSessionChanged?this.loggerService.logDebug("only local login cleaned up, server session has changed"):e?e(o):this.redirectTo(o)}else this.resetAuthorizationData(!1),this.loggerService.logDebug("only local login cleaned up, no end_session_endpoint");else this.loggerService.logWarning("authWellKnownEndpoints is undefined")},e.prototype.refreshSession=function(){if(!this.configurationProvider.openIDConfiguration.silent_renew)return o.from([!1]);this.loggerService.logDebug("BEGIN refresh session Authorize");var e=this.oidcSecurityCommon.authStateControl;""!==e&&null!==e||(e=Date.now()+""+Math.random()+Math.random(),this.oidcSecurityCommon.authStateControl=e);var t="N"+Math.random()+Date.now();this.oidcSecurityCommon.authNonce=t,this.loggerService.logDebug("RefreshSession created. adding myautostate: "+this.oidcSecurityCommon.authStateControl);var i="";if("code"===this.configurationProvider.openIDConfiguration.response_type){var n="C"+Math.random()+Date.now()+Date.now()+Math.random(),r=this.oidcSecurityValidation.generate_code_verifier(n);this.oidcSecurityCommon.code_verifier=n,this.configurationProvider.wellKnownEndpoints?i=this.createAuthorizeUrl(!0,r,this.configurationProvider.openIDConfiguration.silent_renew_url,t,e,this.configurationProvider.wellKnownEndpoints.authorization_endpoint||"","none"):this.loggerService.logWarning("authWellKnownEndpoints is undefined")}else this.configurationProvider.wellKnownEndpoints?i=this.createAuthorizeUrl(!1,"",this.configurationProvider.openIDConfiguration.silent_renew_url,t,e,this.configurationProvider.wellKnownEndpoints.authorization_endpoint||"","none"):this.loggerService.logWarning("authWellKnownEndpoints is undefined");return this.oidcSecurityCommon.silentRenewRunning="running",this.oidcSecuritySilentRenew.startRenew(i)},e.prototype.handleError=function(e){if(this.loggerService.logError(e),403===e.status||"403"===e.status)this.configurationProvider.openIDConfiguration.trigger_authorization_result_event?this._onAuthorizationResult.next(new d(l.unauthorized,p.NotSet)):this.router.navigate([this.configurationProvider.openIDConfiguration.forbidden_route]);else if(401===e.status||"401"===e.status){var t=this.oidcSecurityCommon.silentRenewRunning;this.resetAuthorizationData(!!t),this.configurationProvider.openIDConfiguration.trigger_authorization_result_event?this._onAuthorizationResult.next(new d(l.unauthorized,p.NotSet)):this.router.navigate([this.configurationProvider.openIDConfiguration.unauthorized_route])}},e.prototype.startCheckingSilentRenew=function(){this.runTokenValidation()},e.prototype.stopCheckingSilentRenew=function(){this._scheduledHeartBeat&&(clearTimeout(this._scheduledHeartBeat),this._scheduledHeartBeat=null,this.runTokenValidationRunning=!1)},e.prototype.resetAuthorizationData=function(e){e||(this.configurationProvider.openIDConfiguration.auto_userinfo&&this.setUserData(""),this.oidcSecurityCommon.resetStorageData(e),this.checkSessionChanged=!1,this.setIsAuthorized(!1))},e.prototype.getEndSessionUrl=function(){if(this.configurationProvider.wellKnownEndpoints&&this.configurationProvider.wellKnownEndpoints.end_session_endpoint){var e=this.configurationProvider.wellKnownEndpoints.end_session_endpoint,t=this.oidcSecurityCommon.idToken;return this.createEndSessionUrl(e,t)}},e.prototype.getValidatedStateResult=function(e,t){return e.error?new f("","",!1,{}):this.stateValidationService.validateState(e,t)},e.prototype.setUserData=function(e){this.oidcSecurityCommon.userData=e,this._userData.next(e)},e.prototype.setIsAuthorized=function(e){this._isAuthorized.next(e)},e.prototype.setAuthorizationData=function(e,t){""!==this.oidcSecurityCommon.accessToken&&(this.oidcSecurityCommon.accessToken=""),this.loggerService.logDebug(e),this.loggerService.logDebug(t),this.loggerService.logDebug("storing to storage, getting the roles"),this.oidcSecurityCommon.accessToken=e,this.oidcSecurityCommon.idToken=t,this.setIsAuthorized(!0),this.oidcSecurityCommon.isAuthorized=!0},e.prototype.createAuthorizeUrl=function(e,t,o,n,r,s,a){var u=s.split("?"),c=u[0],d=new i.HttpParams({fromString:u[1],encoder:new O});d=(d=(d=(d=(d=(d=d.set("client_id",this.configurationProvider.openIDConfiguration.client_id)).append("redirect_uri",o)).append("response_type",this.configurationProvider.openIDConfiguration.response_type)).append("scope",this.configurationProvider.openIDConfiguration.scope)).append("nonce",n)).append("state",r),e&&(d=(d=d.append("code_challenge",t)).append("code_challenge_method","S256")),a&&(d=d.append("prompt",a)),this.configurationProvider.openIDConfiguration.hd_param&&(d=d.append("hd",this.configurationProvider.openIDConfiguration.hd_param));var l=Object.assign({},this.oidcSecurityCommon.customRequestParams);return Object.keys(l).forEach(function(e){d=d.append(e,l[e].toString())}),c+"?"+d},e.prototype.createEndSessionUrl=function(e,t){var o=e.split("?"),n=o[0],r=new i.HttpParams({fromString:o[1],encoder:new O});return n+"?"+(r=(r=r.set("id_token_hint",t)).append("post_logout_redirect_uri",this.configurationProvider.openIDConfiguration.post_logout_redirect_uri))},e.prototype.getSigningKeys=function(){return this.configurationProvider.wellKnownEndpoints?(this.loggerService.logDebug("jwks_uri: "+this.configurationProvider.wellKnownEndpoints.jwks_uri),this.oidcDataService.get(this.configurationProvider.wellKnownEndpoints.jwks_uri||"").pipe(s.catchError(this.handleErrorGetSigningKeys))):(this.loggerService.logWarning("getSigningKeys: authWellKnownEndpoints is undefined"),this.oidcDataService.get("undefined").pipe(s.catchError(this.handleErrorGetSigningKeys)))},e.prototype.handleErrorGetSigningKeys=function(e){var t;if(e instanceof Response){var i=e.json()||{},n=JSON.stringify(i);t=e.status+" - "+(e.statusText||"")+" "+n}else t=e.message?e.message:e.toString();return console.error(t),o.throwError(t)},e.prototype.runTokenValidation=function(){var e=this;if(!this.runTokenValidationRunning&&this.configurationProvider.openIDConfiguration.silent_renew){this.runTokenValidationRunning=!0,this.loggerService.logDebug("runTokenValidation silent-renew running");var t=function(){if(e.loggerService.logDebug("silentRenewHeartBeatCheck\r\n\tsilentRenewRunning: "+("running"===e.oidcSecurityCommon.silentRenewRunning)+"\r\n\tidToken: "+!!e.getIdToken()+"\r\n\t_userData.value: "+!!e._userData.value),e._userData.value&&"running"!==e.oidcSecurityCommon.silentRenewRunning&&e.getIdToken()&&e.oidcSecurityValidation.isTokenExpired(e.oidcSecurityCommon.idToken,e.configurationProvider.openIDConfiguration.silent_renew_offset_in_seconds)){if(e.loggerService.logDebug("IsAuthorized: id_token isTokenExpired, start silent renew if active"),e.configurationProvider.openIDConfiguration.silent_renew)return void e.refreshSession().subscribe(function(){e._scheduledHeartBeat=setTimeout(t,3e3)},function(i){e.loggerService.logError("Error: "+i),e._scheduledHeartBeat=setTimeout(t,3e3)});e.resetAuthorizationData(!1)}e._scheduledHeartBeat=setTimeout(t,3e3)};this.zone.runOutsideAngular(function(){e._scheduledHeartBeat=setTimeout(t,1e4)})}},e.prototype.silentRenewEventHandler=function(e){if(this.loggerService.logDebug("silentRenewEventHandler"),"code"===this.configurationProvider.openIDConfiguration.response_type){var t=e.detail.toString().split("?"),o=new i.HttpParams({fromString:t[1]}),n=o.get("code"),r=o.get("state"),s=o.get("session_state"),a=o.get("error");n&&r&&this.requestTokensWithCodeProcedure(n,r,s),a&&(this._onAuthorizationResult.next(new d(l.unauthorized,p.LoginRequired)),this.resetAuthorizationData(!1),this.oidcSecurityCommon.authNonce="",this.loggerService.logDebug(e.detail.toString()))}else this.authorizedImplicitFlowCallback(e.detail)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:_},{type:P},{type:a.Router},{type:E},{type:R},{type:A},{type:I},{type:D},{type:k},{type:y},{type:t.NgZone},{type:i.HttpClient},{type:S}]},e}(),x=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[z,T,D,E,R,A,I,k,y,m,w,_,P,{provide:C,useClass:t.storage||b}]}},e.decorators=[{type:t.NgModule}],e}();e.AuthModule=x,e.AuthorizationResult=d,e.AuthorizationState=l,e.BrowserStorage=b,e.JwtKey=h,e.JwtKeys=g,e.OidcConfigService=z,e.OidcSecurityService=T,e.OidcSecurityStorage=C,e.OidcSecurityValidation=D,e.TokenHelperService=k,e.ValidateStateResult=f,e.ValidationResult=p,e.ɵa=_,e.ɵb=P,e.ɵc=I,e.ɵd=w,e.ɵe=y,e.ɵf=S,e.ɵg=v,e.ɵh=E,e.ɵi=m,e.ɵj=R,e.ɵk=A,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=angular-auth-oidc-client.umd.min.js.map |
@@ -8,12 +8,14 @@ /** | ||
*/ | ||
export { AuthWellKnownEndpoints, AuthorizationResult, AuthorizationState, JwtKeys, JwtKey, ValidateStateResult, ValidationResult, OpenIDImplicitFlowConfiguration, AuthConfiguration, AuthModule, OidcConfigService, OidcSecurityService, OidcSecurityStorage, BrowserStorage, OidcSecurityValidation, TokenHelperService } from './public-api'; | ||
export { AuthorizationResult, AuthorizationState, JwtKeys, JwtKey, ValidateStateResult, ValidationResult, AuthModule, TokenHelperService, OidcConfigService, OidcSecurityService, OidcSecurityStorage, BrowserStorage, OidcSecurityValidation } from './public-api'; | ||
export { OidcDataService as ɵa } from './lib/data-services/oidc-data.service'; | ||
export { IFrameService as ɵg } from './lib/services/existing-iframe.service'; | ||
export { ConfigurationProvider as ɵf } from './lib/services/auth-configuration.provider'; | ||
export { IFrameService as ɵi } from './lib/services/existing-iframe.service'; | ||
export { EqualityHelperService as ɵd } from './lib/services/oidc-equality-helper.service'; | ||
export { StateValidationService as ɵb } from './lib/services/oidc-security-state-validation.service'; | ||
export { LoggerService as ɵe } from './lib/services/oidc.logger.service'; | ||
export { OidcSecurityCheckSession as ɵf } from './lib/services/oidc.security.check-session'; | ||
export { OidcSecurityCheckSession as ɵh } from './lib/services/oidc.security.check-session'; | ||
export { OidcSecurityCommon as ɵc } from './lib/services/oidc.security.common'; | ||
export { OidcSecuritySilentRenew as ɵh } from './lib/services/oidc.security.silent-renew'; | ||
export { OidcSecurityUserService as ɵi } from './lib/services/oidc.security.user-service'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxpVUFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDMUYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RixPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7T2lkY0RhdGFTZXJ2aWNlIGFzIMm1YX0gZnJvbSAnLi9saWIvZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5leHBvcnQge0lGcmFtZVNlcnZpY2UgYXMgybVnfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leGlzdGluZy1pZnJhbWUuc2VydmljZSc7XG5leHBvcnQge0VxdWFsaXR5SGVscGVyU2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMtZXF1YWxpdHktaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtTdGF0ZVZhbGlkYXRpb25TZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtMb2dnZXJTZXJ2aWNlIGFzIMm1ZX0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy5sb2dnZXIuc2VydmljZSc7XG5leHBvcnQge09pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiBhcyDJtWZ9IGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY2hlY2stc2Vzc2lvbic7XG5leHBvcnQge09pZGNTZWN1cml0eUNvbW1vbiBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY29tbW9uJztcbmV4cG9ydCB7T2lkY1NlY3VyaXR5U2lsZW50UmVuZXcgYXMgybVofSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LnNpbGVudC1yZW5ldyc7XG5leHBvcnQge09pZGNTZWN1cml0eVVzZXJTZXJ2aWNlIGFzIMm1aX0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UnOyJdfQ== | ||
export { OidcSecuritySilentRenew as ɵj } from './lib/services/oidc.security.silent-renew'; | ||
export { OidcSecurityUserService as ɵk } from './lib/services/oidc.security.user-service'; | ||
export { PlatformProvider as ɵg } from './lib/services/platform.provider'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxxUEFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzFGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtPaWRjRGF0YVNlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9kYXRhLXNlcnZpY2VzL29pZGMtZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCB7Q29uZmlndXJhdGlvblByb3ZpZGVyIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC1jb25maWd1cmF0aW9uLnByb3ZpZGVyJztcbmV4cG9ydCB7SUZyYW1lU2VydmljZSBhcyDJtWl9IGZyb20gJy4vbGliL3NlcnZpY2VzL2V4aXN0aW5nLWlmcmFtZS5zZXJ2aWNlJztcbmV4cG9ydCB7RXF1YWxpdHlIZWxwZXJTZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy1lcXVhbGl0eS1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQge1N0YXRlVmFsaWRhdGlvblNlcnZpY2UgYXMgybVifSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vaWRjLXNlY3VyaXR5LXN0YXRlLXZhbGlkYXRpb24uc2VydmljZSc7XG5leHBvcnQge0xvZ2dlclNlcnZpY2UgYXMgybVlfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmV4cG9ydCB7T2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIGFzIMm1aH0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS5jaGVjay1zZXNzaW9uJztcbmV4cG9ydCB7T2lkY1NlY3VyaXR5Q29tbW9uIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS5jb21tb24nO1xuZXhwb3J0IHtPaWRjU2VjdXJpdHlTaWxlbnRSZW5ldyBhcyDJtWp9IGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc2lsZW50LXJlbmV3JztcbmV4cG9ydCB7T2lkY1NlY3VyaXR5VXNlclNlcnZpY2UgYXMgybVrfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LnVzZXItc2VydmljZSc7XG5leHBvcnQge1BsYXRmb3JtUHJvdmlkZXIgYXMgybVnfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wbGF0Zm9ybS5wcm92aWRlcic7Il19 |
@@ -6,3 +6,4 @@ /** | ||
// Public classes. | ||
export { AuthWellKnownEndpoints } from './models/auth.well-known-endpoints'; | ||
export {} from './models/auth.configuration'; | ||
export {} from './models/auth.well-known-endpoints'; | ||
export { AuthorizationResult } from './models/authorization-result'; | ||
@@ -13,4 +14,4 @@ export { AuthorizationState } from './models/authorization-state.enum'; | ||
export { ValidationResult } from './models/validation-result.enum'; | ||
export { OpenIDImplicitFlowConfiguration, AuthConfiguration } from './modules/auth.configuration'; | ||
export { AuthModule } from './modules/auth.module'; | ||
export { TokenHelperService } from './services/oidc-token-helper.service'; | ||
export { OidcConfigService } from './services/oidc.security.config.service'; | ||
@@ -20,3 +21,2 @@ export { OidcSecurityService } from './services/oidc.security.service'; | ||
export { OidcSecurityValidation } from './services/oidc.security.validation'; | ||
export { TokenHelperService } from './services/oidc-token-helper.service'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHVDQUFjLG9DQUFvQyxDQUFDO0FBQ25ELG9DQUFjLCtCQUErQixDQUFDO0FBQzlDLG1DQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLG9DQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGlDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELG1FQUFjLDhCQUE4QixDQUFDO0FBQzdDLDJCQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGtDQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG9DQUFjLGtDQUFrQyxDQUFDO0FBQ2pELG9EQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHVDQUFjLHFDQUFxQyxDQUFDO0FBQ3BELG1DQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUHVibGljIGNsYXNzZXMuXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2F1dGgud2VsbC1rbm93bi1lbmRwb2ludHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXV0aG9yaXphdGlvbi1yZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXV0aG9yaXphdGlvbi1zdGF0ZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2p3dGtleXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdmFsaWRhdGUtc3RhdGUtcmVzdWx0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3ZhbGlkYXRpb24tcmVzdWx0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2F1dGguY29uZmlndXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvYXV0aC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LmNvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zdG9yYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy5zZWN1cml0eS52YWxpZGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy10b2tlbi1oZWxwZXIuc2VydmljZSc7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyxvQ0FBb0MsQ0FBQztBQUNuRCxvQ0FBYywrQkFBK0IsQ0FBQztBQUM5QyxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxnQ0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxvQ0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxpQ0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCwyQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxtQ0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxrQ0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxvQ0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxvREFBYyxrQ0FBa0MsQ0FBQztBQUNqRCx1Q0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFB1YmxpYyBjbGFzc2VzLlxuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hdXRoLmNvbmZpZ3VyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hdXRob3JpemF0aW9uLXJlc3VsdCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hdXRob3JpemF0aW9uLXN0YXRlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvand0a2V5cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy92YWxpZGF0ZS1zdGF0ZS1yZXN1bHQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdmFsaWRhdGlvbi1yZXN1bHQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvYXV0aC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9vaWRjLXRva2VuLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc3RvcmFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkudmFsaWRhdGlvbic7XG4iXX0= |
@@ -5,58 +5,26 @@ /** | ||
*/ | ||
export class AuthWellKnownEndpoints { | ||
constructor() { | ||
this.issuer = ''; | ||
this.jwks_uri = ''; | ||
this.authorization_endpoint = ''; | ||
this.token_endpoint = ''; | ||
this.userinfo_endpoint = ''; | ||
this.end_session_endpoint = ''; | ||
this.check_session_iframe = ''; | ||
this.revocation_endpoint = ''; | ||
this.introspection_endpoint = ''; | ||
} | ||
/** | ||
* @param {?} data | ||
* @return {?} | ||
*/ | ||
setWellKnownEndpoints(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; | ||
if (data.end_session_endpoint) { | ||
this.end_session_endpoint = data.end_session_endpoint; | ||
} | ||
if (data.check_session_iframe) { | ||
this.check_session_iframe = data.check_session_iframe; | ||
} | ||
if (data.revocation_endpoint) { | ||
this.revocation_endpoint = data.revocation_endpoint; | ||
} | ||
if (data.introspection_endpoint) { | ||
this.introspection_endpoint = data.introspection_endpoint; | ||
} | ||
} | ||
} | ||
/** | ||
* @record | ||
*/ | ||
export function AuthWellKnownEndpoints() { } | ||
if (false) { | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.issuer; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.jwks_uri; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.authorization_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.token_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.userinfo_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.end_session_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.check_session_iframe; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.revocation_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.introspection_endpoint; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUNJLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsMkJBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDMUIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QiwyQkFBc0IsR0FBRyxFQUFFLENBQUM7SUF5QmhDLENBQUM7Ozs7O0lBdkJVLHFCQUFxQixDQUFDLElBQVM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQzFELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRWhELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7U0FDekQ7UUFFRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1NBQ3pEO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztTQUN2RDtRQUVELElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzdCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7U0FDN0Q7SUFDTCxDQUFDO0NBQ0o7OztJQWpDRyx3Q0FBWTs7SUFDWiwwQ0FBYzs7SUFDZCx3REFBNEI7O0lBQzVCLGdEQUFvQjs7SUFDcEIsbURBQXVCOztJQUN2QixzREFBMEI7O0lBQzFCLHNEQUEwQjs7SUFDMUIscURBQXlCOztJQUN6Qix3REFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0aFdlbGxLbm93bkVuZHBvaW50cyB7XG4gICAgaXNzdWVyID0gJyc7XG4gICAgandrc191cmkgPSAnJztcbiAgICBhdXRob3JpemF0aW9uX2VuZHBvaW50ID0gJyc7XG4gICAgdG9rZW5fZW5kcG9pbnQgPSAnJztcbiAgICB1c2VyaW5mb19lbmRwb2ludCA9ICcnO1xuICAgIGVuZF9zZXNzaW9uX2VuZHBvaW50ID0gJyc7XG4gICAgY2hlY2tfc2Vzc2lvbl9pZnJhbWUgPSAnJztcbiAgICByZXZvY2F0aW9uX2VuZHBvaW50ID0gJyc7XG4gICAgaW50cm9zcGVjdGlvbl9lbmRwb2ludCA9ICcnO1xuXG4gICAgcHVibGljIHNldFdlbGxLbm93bkVuZHBvaW50cyhkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5pc3N1ZXIgPSBkYXRhLmlzc3VlcjtcbiAgICAgICAgdGhpcy5qd2tzX3VyaSA9IGRhdGEuandrc191cmk7XG4gICAgICAgIHRoaXMuYXV0aG9yaXphdGlvbl9lbmRwb2ludCA9IGRhdGEuYXV0aG9yaXphdGlvbl9lbmRwb2ludDtcbiAgICAgICAgdGhpcy50b2tlbl9lbmRwb2ludCA9IGRhdGEudG9rZW5fZW5kcG9pbnQ7XG4gICAgICAgIHRoaXMudXNlcmluZm9fZW5kcG9pbnQgPSBkYXRhLnVzZXJpbmZvX2VuZHBvaW50O1xuXG4gICAgICAgIGlmIChkYXRhLmVuZF9zZXNzaW9uX2VuZHBvaW50KSB7XG4gICAgICAgICAgICB0aGlzLmVuZF9zZXNzaW9uX2VuZHBvaW50ID0gZGF0YS5lbmRfc2Vzc2lvbl9lbmRwb2ludDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLmNoZWNrX3Nlc3Npb25faWZyYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrX3Nlc3Npb25faWZyYW1lID0gZGF0YS5jaGVja19zZXNzaW9uX2lmcmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLnJldm9jYXRpb25fZW5kcG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmV2b2NhdGlvbl9lbmRwb2ludCA9IGRhdGEucmV2b2NhdGlvbl9lbmRwb2ludDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLmludHJvc3BlY3Rpb25fZW5kcG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaW50cm9zcGVjdGlvbl9lbmRwb2ludCA9IGRhdGEuaW50cm9zcGVjdGlvbl9lbmRwb2ludDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsNENBVUM7OztJQVRDLHdDQUFnQjs7SUFDaEIsMENBQWtCOztJQUNsQix3REFBZ0M7O0lBQ2hDLGdEQUF3Qjs7SUFDeEIsbURBQTJCOztJQUMzQixzREFBOEI7O0lBQzlCLHNEQUE4Qjs7SUFDOUIscURBQTZCOztJQUM3Qix3REFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEF1dGhXZWxsS25vd25FbmRwb2ludHMge1xuICBpc3N1ZXI/OiBzdHJpbmc7XG4gIGp3a3NfdXJpPzogc3RyaW5nO1xuICBhdXRob3JpemF0aW9uX2VuZHBvaW50Pzogc3RyaW5nO1xuICB0b2tlbl9lbmRwb2ludD86IHN0cmluZztcbiAgdXNlcmluZm9fZW5kcG9pbnQ/OiBzdHJpbmc7XG4gIGVuZF9zZXNzaW9uX2VuZHBvaW50Pzogc3RyaW5nO1xuICBjaGVja19zZXNzaW9uX2lmcmFtZT86IHN0cmluZztcbiAgcmV2b2NhdGlvbl9lbmRwb2ludD86IHN0cmluZztcbiAgaW50cm9zcGVjdGlvbl9lbmRwb2ludD86IHN0cmluZztcbn1cbiJdfQ== |
@@ -7,3 +7,2 @@ /** | ||
import { OidcDataService } from '../data-services/oidc-data.service'; | ||
import { AuthWellKnownEndpoints } from '../models/auth.well-known-endpoints'; | ||
import { IFrameService } from '../services/existing-iframe.service'; | ||
@@ -22,3 +21,2 @@ import { EqualityHelperService } from '../services/oidc-equality-helper.service'; | ||
import { OidcSecurityValidation } from '../services/oidc.security.validation'; | ||
import { AuthConfiguration } from './auth.configuration'; | ||
export class AuthModule { | ||
@@ -40,3 +38,2 @@ /** | ||
OidcSecurityCommon, | ||
AuthConfiguration, | ||
TokenHelperService, | ||
@@ -46,3 +43,2 @@ LoggerService, | ||
EqualityHelperService, | ||
AuthWellKnownEndpoints, | ||
OidcDataService, | ||
@@ -74,2 +70,2 @@ StateValidationService, | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE1BQU0sT0FBTyxVQUFVOzs7OztJQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLFFBQWUsRUFBRTtRQUM1QixPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNQLGlCQUFpQjtnQkFDakIsbUJBQW1CO2dCQUNuQixzQkFBc0I7Z0JBQ3RCLHdCQUF3QjtnQkFDeEIsdUJBQXVCO2dCQUN2Qix1QkFBdUI7Z0JBQ3ZCLGtCQUFrQjtnQkFDbEIsaUJBQWlCO2dCQUNqQixrQkFBa0I7Z0JBQ2xCLGFBQWE7Z0JBQ2IsYUFBYTtnQkFDYixxQkFBcUI7Z0JBQ3JCLHNCQUFzQjtnQkFDdEIsZUFBZTtnQkFDZixzQkFBc0I7Z0JBQ3RCO29CQUNJLE9BQU8sRUFBRSxtQkFBbUI7b0JBQzVCLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLGNBQWM7aUJBQzVDO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs7O1lBM0JKLFFBQVE7Ozs7OztBQThCVCwwQkFFQzs7OztBQUVELDJCQUVDOzs7SUFERyx3QkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2lkY0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoV2VsbEtub3duRW5kcG9pbnRzIH0gZnJvbSAnLi4vbW9kZWxzL2F1dGgud2VsbC1rbm93bi1lbmRwb2ludHMnO1xuaW1wb3J0IHsgSUZyYW1lU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V4aXN0aW5nLWlmcmFtZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVxdWFsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMtZXF1YWxpdHktaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdGVWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMtc2VjdXJpdHktc3RhdGUtdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRva2VuSGVscGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMtdG9rZW4taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMubG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5jaGVjay1zZXNzaW9uJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNvbW1vbiB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY29tbW9uJztcbmltcG9ydCB7IE9pZGNDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eVNpbGVudFJlbmV3IH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zaWxlbnQtcmVuZXcnO1xuaW1wb3J0IHsgQnJvd3NlclN0b3JhZ2UsIE9pZGNTZWN1cml0eVN0b3JhZ2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LnN0b3JhZ2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5VXNlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LnVzZXItc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlWYWxpZGF0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS52YWxpZGF0aW9uJztcbmltcG9ydCB7IEF1dGhDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9hdXRoLmNvbmZpZ3VyYXRpb24nO1xuXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KHRva2VuOiBUb2tlbiA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQXV0aE1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIE9pZGNDb25maWdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIE9pZGNTZWN1cml0eVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5VmFsaWRhdGlvbixcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlDaGVja1Nlc3Npb24sXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5U2lsZW50UmVuZXcsXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5VXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5Q29tbW9uLFxuICAgICAgICAgICAgICAgIEF1dGhDb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgICAgIFRva2VuSGVscGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIElGcmFtZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgRXF1YWxpdHlIZWxwZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEF1dGhXZWxsS25vd25FbmRwb2ludHMsXG4gICAgICAgICAgICAgICAgT2lkY0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFN0YXRlVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBPaWRjU2VjdXJpdHlTdG9yYWdlLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogdG9rZW4uc3RvcmFnZSB8fCBCcm93c2VyU3RvcmFnZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZTxUPiBleHRlbmRzIEZ1bmN0aW9uIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gICAgc3RvcmFnZT86IFR5cGU8YW55Pjtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzlFLE1BQU0sT0FBTyxVQUFVOzs7OztJQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLFFBQWUsRUFBRTtRQUM1QixPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNQLGlCQUFpQjtnQkFDakIsbUJBQW1CO2dCQUNuQixzQkFBc0I7Z0JBQ3RCLHdCQUF3QjtnQkFDeEIsdUJBQXVCO2dCQUN2Qix1QkFBdUI7Z0JBQ3ZCLGtCQUFrQjtnQkFDbEIsa0JBQWtCO2dCQUNsQixhQUFhO2dCQUNiLGFBQWE7Z0JBQ2IscUJBQXFCO2dCQUNyQixlQUFlO2dCQUNmLHNCQUFzQjtnQkFDdEI7b0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtvQkFDNUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksY0FBYztpQkFDNUM7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzs7WUF6QkosUUFBUTs7Ozs7O0FBNEJULDBCQUVDOzs7O0FBRUQsMkJBRUM7OztJQURHLHdCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPaWRjRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLXNlcnZpY2VzL29pZGMtZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IElGcmFtZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9leGlzdGluZy1pZnJhbWUuc2VydmljZSc7XG5pbXBvcnQgeyBFcXVhbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLWVxdWFsaXR5LWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXRlVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLXNlY3VyaXR5LXN0YXRlLXZhbGlkYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2tlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLXRva2VuLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY2hlY2stc2Vzc2lvbic7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlDb21tb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LmNvbW1vbic7XG5pbXBvcnQgeyBPaWRjQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlTaWxlbnRSZW5ldyB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc2lsZW50LXJlbmV3JztcbmltcG9ydCB7IEJyb3dzZXJTdG9yYWdlLCBPaWRjU2VjdXJpdHlTdG9yYWdlIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zdG9yYWdlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eVVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5VmFsaWRhdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkudmFsaWRhdGlvbic7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgQXV0aE1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QodG9rZW46IFRva2VuID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBdXRoTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgT2lkY0NvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5U2VydmljZSxcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlWYWxpZGF0aW9uLFxuICAgICAgICAgICAgICAgIE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbixcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlTaWxlbnRSZW5ldyxcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgICAgICAgICAgVG9rZW5IZWxwZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgSUZyYW1lU2VydmljZSxcbiAgICAgICAgICAgICAgICBFcXVhbGl0eUhlbHBlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgT2lkY0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFN0YXRlVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBPaWRjU2VjdXJpdHlTdG9yYWdlLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogdG9rZW4uc3RvcmFnZSB8fCBCcm93c2VyU3RvcmFnZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZTxUPiBleHRlbmRzIEZ1bmN0aW9uIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gICAgc3RvcmFnZT86IFR5cGU8YW55Pjtcbn1cbiJdfQ== |
@@ -6,6 +6,5 @@ /** | ||
import { Injectable } from '@angular/core'; | ||
import { AuthWellKnownEndpoints } from '../models/auth.well-known-endpoints'; | ||
import { ValidateStateResult } from '../models/validate-state-result.model'; | ||
import { ValidationResult } from '../models/validation-result.enum'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { TokenHelperService } from './oidc-token-helper.service'; | ||
@@ -17,3 +16,2 @@ import { LoggerService } from './oidc.logger.service'; | ||
/** | ||
* @param {?} authConfiguration | ||
* @param {?} oidcSecurityCommon | ||
@@ -23,5 +21,5 @@ * @param {?} oidcSecurityValidation | ||
* @param {?} loggerService | ||
* @param {?} configurationProvider | ||
*/ | ||
constructor(authConfiguration, oidcSecurityCommon, oidcSecurityValidation, tokenHelperService, loggerService) { | ||
this.authConfiguration = authConfiguration; | ||
constructor(oidcSecurityCommon, oidcSecurityValidation, tokenHelperService, loggerService, configurationProvider) { | ||
this.oidcSecurityCommon = oidcSecurityCommon; | ||
@@ -31,12 +29,5 @@ this.oidcSecurityValidation = oidcSecurityValidation; | ||
this.loggerService = loggerService; | ||
this.authWellKnownEndpoints = new AuthWellKnownEndpoints(); | ||
this.configurationProvider = configurationProvider; | ||
} | ||
/** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
setupModule(authWellKnownEndpoints) { | ||
this.authWellKnownEndpoints = Object.assign({}, authWellKnownEndpoints); | ||
} | ||
/** | ||
* @param {?} result | ||
@@ -55,3 +46,4 @@ * @param {?} jwtKeys | ||
} | ||
if (this.authConfiguration.response_type === 'id_token token' || this.authConfiguration.response_type === 'code') { | ||
if (this.configurationProvider.openIDConfiguration.response_type === 'id_token token' || | ||
this.configurationProvider.openIDConfiguration.response_type === 'code') { | ||
toReturn.access_token = result.access_token; | ||
@@ -79,3 +71,3 @@ } | ||
} | ||
if (!this.oidcSecurityValidation.validate_id_token_iat_max_offset(toReturn.decoded_id_token, this.authConfiguration.max_id_token_iat_offset_allowed_in_seconds, this.authConfiguration.disable_iat_offset_validation)) { | ||
if (!this.oidcSecurityValidation.validate_id_token_iat_max_offset(toReturn.decoded_id_token, this.configurationProvider.openIDConfiguration.max_id_token_iat_offset_allowed_in_seconds, this.configurationProvider.openIDConfiguration.disable_iat_offset_validation)) { | ||
this.loggerService.logWarning('authorizedCallback Validation, iat rejected id_token was issued too far away from the current time'); | ||
@@ -86,8 +78,8 @@ toReturn.state = ValidationResult.MaxOffsetExpired; | ||
} | ||
if (this.authWellKnownEndpoints) { | ||
if (this.authConfiguration.iss_validation_off) { | ||
if (this.configurationProvider.wellKnownEndpoints) { | ||
if (this.configurationProvider.openIDConfiguration.iss_validation_off) { | ||
this.loggerService.logDebug('iss validation is turned off, this is not recommended!'); | ||
} | ||
else if (!this.authConfiguration.iss_validation_off && | ||
!this.oidcSecurityValidation.validate_id_token_iss(toReturn.decoded_id_token, this.authWellKnownEndpoints.issuer)) { | ||
else if (!this.configurationProvider.openIDConfiguration.iss_validation_off && | ||
!this.oidcSecurityValidation.validate_id_token_iss(toReturn.decoded_id_token, this.configurationProvider.wellKnownEndpoints.issuer)) { | ||
this.loggerService.logWarning('authorizedCallback incorrect iss does not match authWellKnownEndpoints issuer'); | ||
@@ -105,3 +97,3 @@ toReturn.state = ValidationResult.IssDoesNotMatchIssuer; | ||
} | ||
if (!this.oidcSecurityValidation.validate_id_token_aud(toReturn.decoded_id_token, this.authConfiguration.client_id)) { | ||
if (!this.oidcSecurityValidation.validate_id_token_aud(toReturn.decoded_id_token, this.configurationProvider.openIDConfiguration.client_id)) { | ||
this.loggerService.logWarning('authorizedCallback incorrect aud'); | ||
@@ -119,3 +111,4 @@ toReturn.state = ValidationResult.IncorrectAud; | ||
// flow id_token token | ||
if (this.authConfiguration.response_type !== 'id_token token' && this.authConfiguration.response_type !== 'code') { | ||
if (this.configurationProvider.openIDConfiguration.response_type !== 'id_token token' && | ||
this.configurationProvider.openIDConfiguration.response_type !== 'code') { | ||
toReturn.authResponseIsValid = true; | ||
@@ -127,3 +120,3 @@ toReturn.state = ValidationResult.Ok; | ||
} | ||
if (!this.oidcSecurityValidation.validate_id_token_at_hash(toReturn.access_token, toReturn.decoded_id_token.at_hash, this.authConfiguration.response_type === 'code') || | ||
if (!this.oidcSecurityValidation.validate_id_token_at_hash(toReturn.access_token, toReturn.decoded_id_token.at_hash, this.configurationProvider.openIDConfiguration.response_type === 'code') || | ||
!toReturn.access_token) { | ||
@@ -146,3 +139,3 @@ this.loggerService.logWarning('authorizedCallback incorrect at_hash'); | ||
this.oidcSecurityCommon.authNonce = ''; | ||
if (this.authConfiguration.auto_clean_state_after_authentication) { | ||
if (this.configurationProvider.openIDConfiguration.auto_clean_state_after_authentication) { | ||
this.oidcSecurityCommon.authStateControl = ''; | ||
@@ -158,3 +151,3 @@ } | ||
this.oidcSecurityCommon.authNonce = ''; | ||
if (this.authConfiguration.auto_clean_state_after_authentication) { | ||
if (this.configurationProvider.openIDConfiguration.auto_clean_state_after_authentication) { | ||
this.oidcSecurityCommon.authStateControl = ''; | ||
@@ -170,19 +163,9 @@ } | ||
StateValidationService.ctorParameters = () => [ | ||
{ type: AuthConfiguration }, | ||
{ type: OidcSecurityCommon }, | ||
{ type: OidcSecurityValidation }, | ||
{ type: TokenHelperService }, | ||
{ type: LoggerService } | ||
{ type: LoggerService }, | ||
{ type: ConfigurationProvider } | ||
]; | ||
if (false) { | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
StateValidationService.prototype.authWellKnownEndpoints; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
StateValidationService.prototype.authConfiguration; | ||
/** @type {?} */ | ||
@@ -205,3 +188,8 @@ StateValidationService.prototype.oidcSecurityCommon; | ||
StateValidationService.prototype.loggerService; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
StateValidationService.prototype.configurationProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3BFLE1BQU0sT0FBTyxzQkFBc0I7Ozs7Ozs7O0lBRS9CLFlBQ1ksaUJBQW9DLEVBQ3JDLGtCQUFzQyxFQUNyQyxzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGFBQTRCO1FBSjVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFOaEMsMkJBQXNCLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0lB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LElBQUksQ0FBQztRQUNwQyxRQUFRLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOzs7OztJQUVPLDBCQUEwQjtRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQ0FBcUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNuRixDQUFDOzs7OztJQUVPLDRCQUE0QjtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQ0FBcUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN2RSxDQUFDOzs7WUEzSUosVUFBVTs7OztZQU5GLGlCQUFpQjtZQUdqQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBSHRCLGtCQUFrQjtZQUNsQixhQUFhOzs7Ozs7O0lBTWxCLHdEQUE4RDs7Ozs7SUFFMUQsbURBQTRDOztJQUM1QyxvREFBNkM7Ozs7O0lBQzdDLHdEQUFzRDs7Ozs7SUFDdEQsb0RBQThDOzs7OztJQUM5QywrQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoV2VsbEtub3duRW5kcG9pbnRzIH0gZnJvbSAnLi4vbW9kZWxzL2F1dGgud2VsbC1rbm93bi1lbmRwb2ludHMnO1xuaW1wb3J0IHsgSnd0S2V5cyB9IGZyb20gJy4uL21vZGVscy9qd3RrZXlzJztcbmltcG9ydCB7IFZhbGlkYXRlU3RhdGVSZXN1bHQgfSBmcm9tICcuLi9tb2RlbHMvdmFsaWRhdGUtc3RhdGUtcmVzdWx0Lm1vZGVsJztcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuLi9tb2RlbHMvdmFsaWRhdGlvbi1yZXN1bHQuZW51bSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC5jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFRva2VuSGVscGVyU2VydmljZSB9IGZyb20gJy4vb2lkYy10b2tlbi1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNvbW1vbiB9IGZyb20gJy4vb2lkYy5zZWN1cml0eS5jb21tb24nO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5VmFsaWRhdGlvbiB9IGZyb20gJy4vb2lkYy5zZWN1cml0eS52YWxpZGF0aW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0YXRlVmFsaWRhdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgYXV0aFdlbGxLbm93bkVuZHBvaW50cyA9IG5ldyBBdXRoV2VsbEtub3duRW5kcG9pbnRzKCk7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXV0aENvbmZpZ3VyYXRpb246IEF1dGhDb25maWd1cmF0aW9uLFxuICAgICAgICBwdWJsaWMgb2lkY1NlY3VyaXR5Q29tbW9uOiBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgIHByaXZhdGUgb2lkY1NlY3VyaXR5VmFsaWRhdGlvbjogT2lkY1NlY3VyaXR5VmFsaWRhdGlvbixcbiAgICAgICAgcHJpdmF0ZSB0b2tlbkhlbHBlclNlcnZpY2U6IFRva2VuSGVscGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgc2V0dXBNb2R1bGUoYXV0aFdlbGxLbm93bkVuZHBvaW50czogQXV0aFdlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICB0aGlzLmF1dGhXZWxsS25vd25FbmRwb2ludHMgPSBPYmplY3QuYXNzaWduKHt9LCBhdXRoV2VsbEtub3duRW5kcG9pbnRzKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZVN0YXRlKHJlc3VsdDogYW55LCBqd3RLZXlzOiBKd3RLZXlzKTogVmFsaWRhdGVTdGF0ZVJlc3VsdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuID0gbmV3IFZhbGlkYXRlU3RhdGVSZXN1bHQoKTtcbiAgICAgICAgaWYgKCF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVTdGF0ZUZyb21IYXNoQ2FsbGJhY2socmVzdWx0LnN0YXRlLCB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoU3RhdGVDb250cm9sKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayBpbmNvcnJlY3Qgc3RhdGUnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5TdGF0ZXNEb05vdE1hdGNoO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlID09PSAnaWRfdG9rZW4gdG9rZW4nIHx8IHRoaXMuYXV0aENvbmZpZ3VyYXRpb24ucmVzcG9uc2VfdHlwZSA9PT0gJ2NvZGUnKSB7XG4gICAgICAgICAgICB0b1JldHVybi5hY2Nlc3NfdG9rZW4gPSByZXN1bHQuYWNjZXNzX3Rva2VuO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9SZXR1cm4uaWRfdG9rZW4gPSByZXN1bHQuaWRfdG9rZW47XG5cbiAgICAgICAgdG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbiA9IHRoaXMudG9rZW5IZWxwZXJTZXJ2aWNlLmdldFBheWxvYWRGcm9tVG9rZW4odG9SZXR1cm4uaWRfdG9rZW4sIGZhbHNlKTtcblxuICAgICAgICBpZiAoIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9zaWduYXR1cmVfaWRfdG9rZW4odG9SZXR1cm4uaWRfdG9rZW4sIGp3dEtleXMpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoJ2F1dGhvcml6ZWRDYWxsYmFjayBTaWduYXR1cmUgdmFsaWRhdGlvbiBmYWlsZWQgaWRfdG9rZW4nKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5TaWduYXR1cmVGYWlsZWQ7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX2lkX3Rva2VuX25vbmNlKHRvUmV0dXJuLmRlY29kZWRfaWRfdG9rZW4sIHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLmF1dGhOb25jZSkpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgaW5jb3JyZWN0IG5vbmNlJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuSW5jb3JyZWN0Tm9uY2U7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX3JlcXVpcmVkX2lkX3Rva2VuKHRvUmV0dXJuLmRlY29kZWRfaWRfdG9rZW4pKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoJ2F1dGhvcml6ZWRDYWxsYmFjayBWYWxpZGF0aW9uLCBvbmUgb2YgdGhlIFJFUVVJUkVEIHByb3BlcnRpZXMgbWlzc2luZyBmcm9tIGlkX3Rva2VuJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuUmVxdWlyZWRQcm9wZXJ0eU1pc3Npbmc7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfaWRfdG9rZW5faWF0X21heF9vZmZzZXQoXG4gICAgICAgICAgICAgICAgdG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbixcbiAgICAgICAgICAgICAgICB0aGlzLmF1dGhDb25maWd1cmF0aW9uLm1heF9pZF90b2tlbl9pYXRfb2Zmc2V0X2FsbG93ZWRfaW5fc2Vjb25kcyxcbiAgICAgICAgICAgICAgICB0aGlzLmF1dGhDb25maWd1cmF0aW9uLmRpc2FibGVfaWF0X29mZnNldF92YWxpZGF0aW9uXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayBWYWxpZGF0aW9uLCBpYXQgcmVqZWN0ZWQgaWRfdG9rZW4gd2FzIGlzc3VlZCB0b28gZmFyIGF3YXkgZnJvbSB0aGUgY3VycmVudCB0aW1lJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuTWF4T2Zmc2V0RXhwaXJlZDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0aENvbmZpZ3VyYXRpb24uaXNzX3ZhbGlkYXRpb25fb2ZmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKCdpc3MgdmFsaWRhdGlvbiBpcyB0dXJuZWQgb2ZmLCB0aGlzIGlzIG5vdCByZWNvbW1lbmRlZCEnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuYXV0aENvbmZpZ3VyYXRpb24uaXNzX3ZhbGlkYXRpb25fb2ZmICYmXG4gICAgICAgICAgICAgICAgIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9pc3ModG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbiwgdGhpcy5hdXRoV2VsbEtub3duRW5kcG9pbnRzLmlzc3VlcikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIGluY29ycmVjdCBpc3MgZG9lcyBub3QgbWF0Y2ggYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpc3N1ZXInKTtcbiAgICAgICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuSXNzRG9lc05vdE1hdGNoSXNzdWVyO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRoV2VsbEtub3duRW5kcG9pbnRzIGlzIHVuZGVmaW5lZCcpO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0Lk5vQXV0aFdlbGxLbm93bkVuZFBvaW50cztcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfaWRfdG9rZW5fYXVkKHRvUmV0dXJuLmRlY29kZWRfaWRfdG9rZW4sIHRoaXMuYXV0aENvbmZpZ3VyYXRpb24uY2xpZW50X2lkKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayBpbmNvcnJlY3QgYXVkJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuSW5jb3JyZWN0QXVkO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9leHBfbm90X2V4cGlyZWQodG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbikpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgdG9rZW4gZXhwaXJlZCcpO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0LlRva2VuRXhwaXJlZDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmxvdyBpZF90b2tlbiB0b2tlblxuICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlICE9PSAnaWRfdG9rZW4gdG9rZW4nICYmIHRoaXMuYXV0aENvbmZpZ3VyYXRpb24ucmVzcG9uc2VfdHlwZSAhPT0gJ2NvZGUnKSB7XG4gICAgICAgICAgICB0b1JldHVybi5hdXRoUmVzcG9uc2VJc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5PaztcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfaWRfdG9rZW5fYXRfaGFzaCh0b1JldHVybi5hY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgICB0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuLmF0X2hhc2gsXG4gICAgICAgICAgICB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnJlc3BvbnNlX3R5cGUgPT09ICdjb2RlJykgfHxcbiAgICAgICAgICAgICF0b1JldHVybi5hY2Nlc3NfdG9rZW5cbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIGluY29ycmVjdCBhdF9oYXNoJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuSW5jb3JyZWN0QXRIYXNoO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0b1JldHVybi5hdXRoUmVzcG9uc2VJc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0Lk9rO1xuICAgICAgICB0aGlzLmhhbmRsZVN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCkge1xuICAgICAgICB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoTm9uY2UgPSAnJztcblxuICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5hdXRvX2NsZWFuX3N0YXRlX2FmdGVyX2F1dGhlbnRpY2F0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoU3RhdGVDb250cm9sID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKCdBdXRob3JpemVkQ2FsbGJhY2sgdG9rZW4ocykgdmFsaWRhdGVkLCBjb250aW51ZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpIHtcbiAgICAgICAgdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uYXV0aE5vbmNlID0gJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuYXV0aENvbmZpZ3VyYXRpb24uYXV0b19jbGVhbl9zdGF0ZV9hZnRlcl9hdXRoZW50aWNhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uYXV0aFN0YXRlQ29udHJvbCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnQXV0aG9yaXplZENhbGxiYWNrIHRva2VuKHMpIGludmFsaWQnKTtcbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3BFLE1BQU0sT0FBTyxzQkFBc0I7Ozs7Ozs7O0lBQy9CLFlBQ1csa0JBQXNDLEVBQ3JDLHNCQUE4QyxFQUM5QyxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDbkIscUJBQTRDO1FBSnRELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ25CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFDOUQsQ0FBQzs7Ozs7O0lBRUosYUFBYSxDQUFDLE1BQVcsRUFBRSxPQUFnQjs7Y0FDakMsUUFBUSxHQUFHLElBQUksbUJBQW1CLEVBQUU7UUFDMUMs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QUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFFTywwQkFBMEI7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFdkMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMscUNBQXFDLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUNqRDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGlEQUFpRCxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7Ozs7SUFFTyw0QkFBNEI7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFdkMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMscUNBQXFDLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUNqRDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7O1lBakpKLFVBQVU7Ozs7WUFIRixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBSHRCLGtCQUFrQjtZQUNsQixhQUFhO1lBRmIscUJBQXFCOzs7O0lBU3RCLG9EQUE2Qzs7Ozs7SUFDN0Msd0RBQXNEOzs7OztJQUN0RCxvREFBOEM7Ozs7O0lBQzlDLCtDQUFvQzs7Ozs7SUFDcEMsdURBQTZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSnd0S2V5cyB9IGZyb20gJy4uL21vZGVscy9qd3RrZXlzJztcbmltcG9ydCB7IFZhbGlkYXRlU3RhdGVSZXN1bHQgfSBmcm9tICcuLi9tb2RlbHMvdmFsaWRhdGUtc3RhdGUtcmVzdWx0Lm1vZGVsJztcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuLi9tb2RlbHMvdmFsaWRhdGlvbi1yZXN1bHQuZW51bSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUHJvdmlkZXIgfSBmcm9tICcuL2F1dGgtY29uZmlndXJhdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBUb2tlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuL29pZGMtdG9rZW4taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vb2lkYy5sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlDb21tb24gfSBmcm9tICcuL29pZGMuc2VjdXJpdHkuY29tbW9uJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eVZhbGlkYXRpb24gfSBmcm9tICcuL29pZGMuc2VjdXJpdHkudmFsaWRhdGlvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdGF0ZVZhbGlkYXRpb25TZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG9pZGNTZWN1cml0eUNvbW1vbjogT2lkY1NlY3VyaXR5Q29tbW9uLFxuICAgICAgICBwcml2YXRlIG9pZGNTZWN1cml0eVZhbGlkYXRpb246IE9pZGNTZWN1cml0eVZhbGlkYXRpb24sXG4gICAgICAgIHByaXZhdGUgdG9rZW5IZWxwZXJTZXJ2aWNlOiBUb2tlbkhlbHBlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uUHJvdmlkZXI6IENvbmZpZ3VyYXRpb25Qcm92aWRlclxuICAgICkge31cblxuICAgIHZhbGlkYXRlU3RhdGUocmVzdWx0OiBhbnksIGp3dEtleXM6IEp3dEtleXMpOiBWYWxpZGF0ZVN0YXRlUmVzdWx0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm4gPSBuZXcgVmFsaWRhdGVTdGF0ZVJlc3VsdCgpO1xuICAgICAgICBpZiAoIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZVN0YXRlRnJvbUhhc2hDYWxsYmFjayhyZXN1bHQuc3RhdGUsIHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLmF1dGhTdGF0ZUNvbnRyb2wpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIGluY29ycmVjdCBzdGF0ZScpO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0LlN0YXRlc0RvTm90TWF0Y2g7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24ucmVzcG9uc2VfdHlwZSA9PT0gJ2lkX3Rva2VuIHRva2VuJyB8fFxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlID09PSAnY29kZSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0b1JldHVybi5hY2Nlc3NfdG9rZW4gPSByZXN1bHQuYWNjZXNzX3Rva2VuO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9SZXR1cm4uaWRfdG9rZW4gPSByZXN1bHQuaWRfdG9rZW47XG5cbiAgICAgICAgdG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbiA9IHRoaXMudG9rZW5IZWxwZXJTZXJ2aWNlLmdldFBheWxvYWRGcm9tVG9rZW4odG9SZXR1cm4uaWRfdG9rZW4sIGZhbHNlKTtcblxuICAgICAgICBpZiAoIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9zaWduYXR1cmVfaWRfdG9rZW4odG9SZXR1cm4uaWRfdG9rZW4sIGp3dEtleXMpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoJ2F1dGhvcml6ZWRDYWxsYmFjayBTaWduYXR1cmUgdmFsaWRhdGlvbiBmYWlsZWQgaWRfdG9rZW4nKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5TaWduYXR1cmVGYWlsZWQ7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX2lkX3Rva2VuX25vbmNlKHRvUmV0dXJuLmRlY29kZWRfaWRfdG9rZW4sIHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLmF1dGhOb25jZSkpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgaW5jb3JyZWN0IG5vbmNlJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuSW5jb3JyZWN0Tm9uY2U7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX3JlcXVpcmVkX2lkX3Rva2VuKHRvUmV0dXJuLmRlY29kZWRfaWRfdG9rZW4pKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoJ2F1dGhvcml6ZWRDYWxsYmFjayBWYWxpZGF0aW9uLCBvbmUgb2YgdGhlIFJFUVVJUkVEIHByb3BlcnRpZXMgbWlzc2luZyBmcm9tIGlkX3Rva2VuJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuUmVxdWlyZWRQcm9wZXJ0eU1pc3Npbmc7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfaWRfdG9rZW5faWF0X21heF9vZmZzZXQoXG4gICAgICAgICAgICAgICAgdG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbixcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLm1heF9pZF90b2tlbl9pYXRfb2Zmc2V0X2FsbG93ZWRfaW5fc2Vjb25kcyxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLmRpc2FibGVfaWF0X29mZnNldF92YWxpZGF0aW9uXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayBWYWxpZGF0aW9uLCBpYXQgcmVqZWN0ZWQgaWRfdG9rZW4gd2FzIGlzc3VlZCB0b28gZmFyIGF3YXkgZnJvbSB0aGUgY3VycmVudCB0aW1lJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuTWF4T2Zmc2V0RXhwaXJlZDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLndlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uaXNzX3ZhbGlkYXRpb25fb2ZmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKCdpc3MgdmFsaWRhdGlvbiBpcyB0dXJuZWQgb2ZmLCB0aGlzIGlzIG5vdCByZWNvbW1lbmRlZCEnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uaXNzX3ZhbGlkYXRpb25fb2ZmICYmXG4gICAgICAgICAgICAgICAgIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9pc3ModG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbiwgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIud2VsbEtub3duRW5kcG9pbnRzLmlzc3VlcilcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgaW5jb3JyZWN0IGlzcyBkb2VzIG5vdCBtYXRjaCBhdXRoV2VsbEtub3duRW5kcG9pbnRzIGlzc3VlcicpO1xuICAgICAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5Jc3NEb2VzTm90TWF0Y2hJc3N1ZXI7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuTm9BdXRoV2VsbEtub3duRW5kUG9pbnRzO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9hdWQodG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbiwgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5jbGllbnRfaWQpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIGluY29ycmVjdCBhdWQnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5JbmNvcnJlY3RBdWQ7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX2lkX3Rva2VuX2V4cF9ub3RfZXhwaXJlZCh0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayB0b2tlbiBleHBpcmVkJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuVG9rZW5FeHBpcmVkO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmbG93IGlkX3Rva2VuIHRva2VuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24ucmVzcG9uc2VfdHlwZSAhPT0gJ2lkX3Rva2VuIHRva2VuJyAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlICE9PSAnY29kZSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0b1JldHVybi5hdXRoUmVzcG9uc2VJc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5PaztcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9hdF9oYXNoKFxuICAgICAgICAgICAgICAgIHRvUmV0dXJuLmFjY2Vzc190b2tlbixcbiAgICAgICAgICAgICAgICB0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuLmF0X2hhc2gsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlID09PSAnY29kZSdcbiAgICAgICAgICAgICkgfHxcbiAgICAgICAgICAgICF0b1JldHVybi5hY2Nlc3NfdG9rZW5cbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIGluY29ycmVjdCBhdF9oYXNoJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuSW5jb3JyZWN0QXRIYXNoO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0b1JldHVybi5hdXRoUmVzcG9uc2VJc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0Lk9rO1xuICAgICAgICB0aGlzLmhhbmRsZVN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCkge1xuICAgICAgICB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoTm9uY2UgPSAnJztcblxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5hdXRvX2NsZWFuX3N0YXRlX2FmdGVyX2F1dGhlbnRpY2F0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoU3RhdGVDb250cm9sID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKCdBdXRob3JpemVkQ2FsbGJhY2sgdG9rZW4ocykgdmFsaWRhdGVkLCBjb250aW51ZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpIHtcbiAgICAgICAgdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uYXV0aE5vbmNlID0gJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uYXV0b19jbGVhbl9zdGF0ZV9hZnRlcl9hdXRoZW50aWNhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uYXV0aFN0YXRlQ29udHJvbCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnQXV0aG9yaXplZENhbGxiYWNrIHRva2VuKHMpIGludmFsaWQnKTtcbiAgICB9XG59XG4iXX0= |
@@ -6,9 +6,9 @@ /** | ||
import { Injectable } from '@angular/core'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
export class LoggerService { | ||
/** | ||
* @param {?} authConfiguration | ||
* @param {?} configurationProvider | ||
*/ | ||
constructor(authConfiguration) { | ||
this.authConfiguration = authConfiguration; | ||
constructor(configurationProvider) { | ||
this.configurationProvider = configurationProvider; | ||
} | ||
@@ -27,3 +27,3 @@ /** | ||
logWarning(message) { | ||
if (this.authConfiguration.isLogLevelWarningEnabled) { | ||
if (this.configurationProvider.openIDConfiguration.log_console_warning_active) { | ||
console.warn(message); | ||
@@ -37,3 +37,3 @@ } | ||
logDebug(message) { | ||
if (this.authConfiguration.isLogLevelDebugEnabled) { | ||
if (this.configurationProvider.openIDConfiguration.log_console_debug_active) { | ||
console.log(message); | ||
@@ -48,3 +48,3 @@ } | ||
LoggerService.ctorParameters = () => [ | ||
{ type: AuthConfiguration } | ||
{ type: ConfigurationProvider } | ||
]; | ||
@@ -56,4 +56,4 @@ if (false) { | ||
*/ | ||
LoggerService.prototype.authConfiguration; | ||
LoggerService.prototype.configurationProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5sb2dnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vaWRjLmxvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2xFLE1BQU0sT0FBTyxhQUFhOzs7O0lBQ3RCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUcsQ0FBQzs7Ozs7SUFFNUQsUUFBUSxDQUFDLE9BQVk7UUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxPQUFZO1FBQ25CLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixFQUFFO1lBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDOzs7OztJQUVELFFBQVEsQ0FBQyxPQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDOzs7WUFsQkosVUFBVTs7OztZQUZGLGlCQUFpQjs7Ozs7OztJQUlWLDBDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoLmNvbmZpZ3VyYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9nZ2VyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoQ29uZmlndXJhdGlvbjogQXV0aENvbmZpZ3VyYXRpb24pIHt9XG5cbiAgICBsb2dFcnJvcihtZXNzYWdlOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBsb2dXYXJuaW5nKG1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5pc0xvZ0xldmVsV2FybmluZ0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvZ0RlYnVnKG1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5pc0xvZ0xldmVsRGVidWdFbmFibGVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5sb2dnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vaWRjLmxvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3RFLE1BQU0sT0FBTyxhQUFhOzs7O0lBQ3RCLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQUcsQ0FBQzs7Ozs7SUFFcEUsUUFBUSxDQUFDLE9BQVk7UUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxPQUFZO1FBQ25CLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLDBCQUEwQixFQUFFO1lBQzNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDOzs7OztJQUVELFFBQVEsQ0FBQyxPQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixFQUFFO1lBQ3pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDOzs7WUFsQkosVUFBVTs7OztZQUZGLHFCQUFxQjs7Ozs7OztJQUlkLDhDQUFvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Qcm92aWRlciB9IGZyb20gJy4vYXV0aC1jb25maWd1cmF0aW9uLnByb3ZpZGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ2dlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlndXJhdGlvblByb3ZpZGVyOiBDb25maWd1cmF0aW9uUHJvdmlkZXIpIHt9XG5cbiAgICBsb2dFcnJvcihtZXNzYWdlOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBsb2dXYXJuaW5nKG1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5sb2dfY29uc29sZV93YXJuaW5nX2FjdGl2ZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9nRGVidWcobWVzc2FnZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLmxvZ19jb25zb2xlX2RlYnVnX2FjdGl2ZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= |
@@ -8,3 +8,3 @@ /** | ||
import { take } from 'rxjs/operators'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { IFrameService } from './existing-iframe.service'; | ||
@@ -18,3 +18,2 @@ import { LoggerService } from './oidc.logger.service'; | ||
/** | ||
* @param {?} authConfiguration | ||
* @param {?} oidcSecurityCommon | ||
@@ -24,5 +23,5 @@ * @param {?} loggerService | ||
* @param {?} zone | ||
* @param {?} configurationProvider | ||
*/ | ||
constructor(authConfiguration, oidcSecurityCommon, loggerService, iFrameService, zone) { | ||
this.authConfiguration = authConfiguration; | ||
constructor(oidcSecurityCommon, loggerService, iFrameService, zone, configurationProvider) { | ||
this.oidcSecurityCommon = oidcSecurityCommon; | ||
@@ -32,2 +31,3 @@ this.loggerService = loggerService; | ||
this.zone = zone; | ||
this.configurationProvider = configurationProvider; | ||
this.lastIFrameRefresh = 0; | ||
@@ -46,9 +46,2 @@ this.outstandingMessages = 0; | ||
/** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
setupModule(authWellKnownEndpoints) { | ||
this.authWellKnownEndpoints = Object.assign({}, authWellKnownEndpoints); | ||
} | ||
/** | ||
* @private | ||
@@ -79,5 +72,9 @@ * @return {?} | ||
} | ||
if (this.authWellKnownEndpoints) { | ||
this.sessionIframe.contentWindow.location.replace(this.authWellKnownEndpoints.check_session_iframe); | ||
if (!this.configurationProvider.wellKnownEndpoints) { | ||
this.loggerService.logWarning('init check session: authWellKnownEndpoints is undefined. Returning.'); | ||
return; | ||
} | ||
if (this.configurationProvider.wellKnownEndpoints.check_session_iframe) { | ||
this.sessionIframe.contentWindow.location.replace(this.configurationProvider.wellKnownEndpoints.check_session_iframe); | ||
} | ||
else { | ||
@@ -143,3 +140,3 @@ this.loggerService.logWarning('init check session: authWellKnownEndpoints is undefined'); | ||
this.outstandingMessages++; | ||
this.sessionIframe.contentWindow.postMessage(clientId + ' ' + session_state, this.authConfiguration.stsServer); | ||
this.sessionIframe.contentWindow.postMessage(clientId + ' ' + session_state, this.configurationProvider.openIDConfiguration.stsServer); | ||
} | ||
@@ -188,3 +185,5 @@ else { | ||
this.outstandingMessages = 0; | ||
if (this.sessionIframe && e.origin === this.authConfiguration.stsServer && e.source === this.sessionIframe.contentWindow) { | ||
if (this.sessionIframe && | ||
e.origin === this.configurationProvider.openIDConfiguration.stsServer && | ||
e.source === this.sessionIframe.contentWindow) { | ||
if (e.data === 'error') { | ||
@@ -207,7 +206,7 @@ this.loggerService.logWarning('error from checksession messageHandler'); | ||
OidcSecurityCheckSession.ctorParameters = () => [ | ||
{ type: AuthConfiguration }, | ||
{ type: OidcSecurityCommon }, | ||
{ type: LoggerService }, | ||
{ type: IFrameService }, | ||
{ type: NgZone } | ||
{ type: NgZone }, | ||
{ type: ConfigurationProvider } | ||
]; | ||
@@ -229,7 +228,2 @@ if (false) { | ||
*/ | ||
OidcSecurityCheckSession.prototype.authWellKnownEndpoints; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
OidcSecurityCheckSession.prototype.scheduledHeartBeat; | ||
@@ -265,3 +259,3 @@ /** | ||
*/ | ||
OidcSecurityCheckSession.prototype.authConfiguration; | ||
OidcSecurityCheckSession.prototype.oidcSecurityCommon; | ||
/** | ||
@@ -271,3 +265,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.oidcSecurityCommon; | ||
OidcSecurityCheckSession.prototype.loggerService; | ||
/** | ||
@@ -277,3 +271,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.loggerService; | ||
OidcSecurityCheckSession.prototype.iFrameService; | ||
/** | ||
@@ -283,3 +277,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.iFrameService; | ||
OidcSecurityCheckSession.prototype.zone; | ||
/** | ||
@@ -289,4 +283,4 @@ * @type {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.zone; | ||
OidcSecurityCheckSession.prototype.configurationProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5jaGVjay1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY2hlY2stc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQVksT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztNQUV0RCxtQ0FBbUMsR0FBRyx5QkFBeUI7O0FBS3JFLE1BQU0sT0FBTyx3QkFBd0I7Ozs7Ozs7O0lBZWpDLFlBQ1ksaUJBQW9DLEVBQ3BDLGtCQUFzQyxFQUN0QyxhQUE0QixFQUM1QixhQUE0QixFQUM1QixJQUFZO1FBSlosc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQVE7UUFmaEIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDekIsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLDJC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QUM5Qix1REFBZ0M7Ozs7O0lBQ2hDLHFEQUFpQzs7Ozs7SUFDakMseURBQXNDOzs7OztJQUN0QywwREFBb0Q7Ozs7O0lBT2hELHFEQUE0Qzs7Ozs7SUFDNUMsc0RBQThDOzs7OztJQUM5QyxpREFBb0M7Ozs7O0lBQ3BDLGlEQUFvQzs7Ozs7SUFDcEMsd0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBPYnNlcnZlciwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhXZWxsS25vd25FbmRwb2ludHMgfSBmcm9tICcuLi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cyc7XG5pbXBvcnQgeyBBdXRoQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC5jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IElGcmFtZVNlcnZpY2UgfSBmcm9tICcuL2V4aXN0aW5nLWlmcmFtZS5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL29pZGMubG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5Q29tbW9uIH0gZnJvbSAnLi9vaWRjLnNlY3VyaXR5LmNvbW1vbic7XG5cbmNvbnN0IElGUkFNRV9GT1JfQ0hFQ0tfU0VTU0lPTl9JREVOVElGSUVSID0gJ215aUZyYW1lRm9yQ2hlY2tTZXNzaW9uJztcblxuLy8gaHR0cDovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3Qtc2Vzc2lvbi0xXzAtSUQ0Lmh0bWxcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiB7XG4gICAgcHJpdmF0ZSBzZXNzaW9uSWZyYW1lOiBhbnk7XG4gICAgcHJpdmF0ZSBpZnJhbWVNZXNzYWdlRXZlbnQ6IGFueTtcbiAgICBwcml2YXRlIGF1dGhXZWxsS25vd25FbmRwb2ludHM6IEF1dGhXZWxsS25vd25FbmRwb2ludHMgfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSBzY2hlZHVsZWRIZWFydEJlYXQ6IGFueTtcbiAgICBwcml2YXRlIGxhc3RJRnJhbWVSZWZyZXNoID0gMDtcbiAgICBwcml2YXRlIG91dHN0YW5kaW5nTWVzc2FnZXMgPSAwO1xuICAgIHByaXZhdGUgaGVhcnRCZWF0SW50ZXJ2YWwgPSAzMDAwO1xuICAgIHByaXZhdGUgaWZyYW1lUmVmcmVzaEludGVydmFsID0gNjAwMDA7XG4gICAgcHJpdmF0ZSBfb25DaGVja1Nlc3Npb25DaGFuZ2VkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgcHVibGljIGdldCBvbkNoZWNrU2Vzc2lvbkNoYW5nZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29uQ2hlY2tTZXNzaW9uQ2hhbmdlZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhdXRoQ29uZmlndXJhdGlvbjogQXV0aENvbmZpZ3VyYXRpb24sXG4gICAgICAgIHByaXZhdGUgb2lkY1NlY3VyaXR5Q29tbW9uOiBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgIHByaXZhdGUgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpRnJhbWVTZXJ2aWNlOiBJRnJhbWVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZVxuICAgICkge31cblxuICAgIHNldHVwTW9kdWxlKGF1dGhXZWxsS25vd25FbmRwb2ludHM6IEF1dGhXZWxsS25vd25FbmRwb2ludHMpIHtcbiAgICAgICAgdGhpcy5hdXRoV2VsbEtub3duRW5kcG9pbnRzID0gT2JqZWN0LmFzc2lnbih7fSwgYXV0aFdlbGxLbm93bkVuZHBvaW50cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkb2VzU2Vzc2lvbkV4aXN0KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBleGlzdGluZ0lGcmFtZSA9IHRoaXMuaUZyYW1lU2VydmljZS5nZXRFeGlzdGluZ0lGcmFtZShJRlJBTUVfRk9SX0NIRUNLX1NFU1NJT05fSURFTlRJRklFUik7XG5cbiAgICAgICAgaWYgKCFleGlzdGluZ0lGcmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXNzaW9uSWZyYW1lID0gZXhpc3RpbmdJRnJhbWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMubGFzdElGcmFtZVJlZnJlc2ggKyB0aGlzLmlmcmFtZVJlZnJlc2hJbnRlcnZhbCA+IERhdGUubm93KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tKFt0aGlzXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZG9lc1Nlc3Npb25FeGlzdCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZnJhbWUgPSB0aGlzLmlGcmFtZVNlcnZpY2UuYWRkSUZyYW1lVG9XaW5kb3dCb2R5KElGUkFNRV9GT1JfQ0hFQ0tfU0VTU0lPTl9JREVOVElGSUVSKTtcbiAgICAgICAgICAgIHRoaXMuaWZyYW1lTWVzc2FnZUV2ZW50ID0gdGhpcy5tZXNzYWdlSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLmlmcmFtZU1lc3NhZ2VFdmVudCwgZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVwbGFjZSh0aGlzLmF1dGhXZWxsS25vd25FbmRwb2ludHMuY2hlY2tfc2Vzc2lvbl9pZnJhbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2luaXQgY2hlY2sgc2Vzc2lvbjogYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbj4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklmcmFtZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0SUZyYW1lUmVmcmVzaCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzKTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhcnRDaGVja2luZ1Nlc3Npb24oY2xpZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zY2hlZHVsZWRIZWFydEJlYXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucG9sbFNlcnZlclNlc3Npb24oY2xpZW50SWQpO1xuICAgIH1cblxuICAgIHN0b3BDaGVja2luZ1Nlc3Npb24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zY2hlZHVsZWRIZWFydEJlYXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRIZWFydEJlYXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvbGxTZXJ2ZXJTZXNzaW9uKGNsaWVudElkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgX3BvbGxTZXJ2ZXJTZXNzaW9uUmVjdXIgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXQoKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlc3Npb25JZnJhbWUgJiYgY2xpZW50SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1Zyh0aGlzLnNlc3Npb25JZnJhbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbl9zdGF0ZSA9IHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLnNlc3Npb25TdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uX3N0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRzdGFuZGluZ01lc3NhZ2VzKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoY2xpZW50SWQgKyAnICcgKyBzZXNzaW9uX3N0YXRlLCB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnN0c1NlcnZlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIHBvbGxTZXJ2ZXJTZXNzaW9uIHNlc3Npb25fc3RhdGUgaXMgYmxhbmsnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNoZWNrU2Vzc2lvbkNoYW5nZWQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ09pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiBwb2xsU2VydmVyU2Vzc2lvbiBzZXNzaW9uSWZyYW1lIGRvZXMgbm90IGV4aXN0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoY2xpZW50SWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKHRoaXMuc2Vzc2lvbklmcmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmluaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyIHNlbmRpbmcgdGhyZWUgbWVzc2FnZXMgd2l0aCBubyByZXNwb25zZSwgZmFpbC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3V0c3RhbmRpbmdNZXNzYWdlcyA+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIG5vdCByZWNlaXZpbmcgY2hlY2sgc2Vzc2lvbiByZXNwb25zZSBtZXNzYWdlcy4gT3V0c3RhbmRpbmcgbWVzc2FnZXM6ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0c3RhbmRpbmdNZXNzYWdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0uIFNlcnZlciB1bnJlYWNoYWJsZT9gXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25DaGVja1Nlc3Npb25DaGFuZ2VkLm5leHQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0ID0gc2V0VGltZW91dChfcG9sbFNlcnZlclNlc3Npb25SZWN1ciwgdGhpcy5oZWFydEJlYXRJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5vdXRzdGFuZGluZ01lc3NhZ2VzID0gMDtcblxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZWRIZWFydEJlYXQgPSBzZXRUaW1lb3V0KF9wb2xsU2VydmVyU2Vzc2lvblJlY3VyLCB0aGlzLmhlYXJ0QmVhdEludGVydmFsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgY2xlYXJTY2hlZHVsZWRIZWFydEJlYXQoKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNjaGVkdWxlZEhlYXJ0QmVhdCk7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0ID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1lc3NhZ2VIYW5kbGVyKGU6IGFueSkge1xuICAgICAgICB0aGlzLm91dHN0YW5kaW5nTWVzc2FnZXMgPSAwO1xuICAgICAgICBpZiAodGhpcy5zZXNzaW9uSWZyYW1lICYmIGUub3JpZ2luID09PSB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnN0c1NlcnZlciAmJiBlLnNvdXJjZSA9PT0gdGhpcy5zZXNzaW9uSWZyYW1lLmNvbnRlbnRXaW5kb3cpIHtcbiAgICAgICAgICAgIGlmIChlLmRhdGEgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnZXJyb3IgZnJvbSBjaGVja3Nlc3Npb24gbWVzc2FnZUhhbmRsZXInKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5kYXRhID09PSAnY2hhbmdlZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vbkNoZWNrU2Vzc2lvbkNoYW5nZWQubmV4dCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoZS5kYXRhICsgJyBmcm9tIGNoZWNrc2Vzc2lvbiBtZXNzYWdlSGFuZGxlcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5jaGVjay1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY2hlY2stc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQVksT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztNQUV0RCxtQ0FBbUMsR0FBRyx5QkFBeUI7O0FBS3JFLE1BQU0sT0FBTyx3QkFBd0I7Ozs7Ozs7O0lBY2pDLFlBQ1ksa0JBQXNDLEVBQ3RDLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLElBQVksRUFDSCxxQkFBNEM7UUFKckQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ0gsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWZ6RCxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUN6QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsMkJB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SUFDM0Isc0RBQWdDOzs7OztJQUNoQyxzREFBZ0M7Ozs7O0lBQ2hDLHFEQUE4Qjs7Ozs7SUFDOUIsdURBQWdDOzs7OztJQUNoQyxxREFBaUM7Ozs7O0lBQ2pDLHlEQUFzQzs7Ozs7SUFDdEMsMERBQW9EOzs7OztJQU9oRCxzREFBOEM7Ozs7O0lBQzlDLGlEQUFvQzs7Ozs7SUFDcEMsaURBQW9DOzs7OztJQUNwQyx3Q0FBb0I7Ozs7O0lBQ3BCLHlEQUE2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUHJvdmlkZXIgfSBmcm9tICcuL2F1dGgtY29uZmlndXJhdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBJRnJhbWVTZXJ2aWNlIH0gZnJvbSAnLi9leGlzdGluZy1pZnJhbWUuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNvbW1vbiB9IGZyb20gJy4vb2lkYy5zZWN1cml0eS5jb21tb24nO1xuXG5jb25zdCBJRlJBTUVfRk9SX0NIRUNLX1NFU1NJT05fSURFTlRJRklFUiA9ICdteWlGcmFtZUZvckNoZWNrU2Vzc2lvbic7XG5cbi8vIGh0dHA6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LXNlc3Npb24tMV8wLUlENC5odG1sXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPaWRjU2VjdXJpdHlDaGVja1Nlc3Npb24ge1xuICAgIHByaXZhdGUgc2Vzc2lvbklmcmFtZTogYW55O1xuICAgIHByaXZhdGUgaWZyYW1lTWVzc2FnZUV2ZW50OiBhbnk7XG4gICAgcHJpdmF0ZSBzY2hlZHVsZWRIZWFydEJlYXQ6IGFueTtcbiAgICBwcml2YXRlIGxhc3RJRnJhbWVSZWZyZXNoID0gMDtcbiAgICBwcml2YXRlIG91dHN0YW5kaW5nTWVzc2FnZXMgPSAwO1xuICAgIHByaXZhdGUgaGVhcnRCZWF0SW50ZXJ2YWwgPSAzMDAwO1xuICAgIHByaXZhdGUgaWZyYW1lUmVmcmVzaEludGVydmFsID0gNjAwMDA7XG4gICAgcHJpdmF0ZSBfb25DaGVja1Nlc3Npb25DaGFuZ2VkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgcHVibGljIGdldCBvbkNoZWNrU2Vzc2lvbkNoYW5nZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29uQ2hlY2tTZXNzaW9uQ2hhbmdlZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvaWRjU2VjdXJpdHlDb21tb246IE9pZGNTZWN1cml0eUNvbW1vbixcbiAgICAgICAgcHJpdmF0ZSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGlGcmFtZVNlcnZpY2U6IElGcmFtZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25Qcm92aWRlcjogQ29uZmlndXJhdGlvblByb3ZpZGVyXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBkb2VzU2Vzc2lvbkV4aXN0KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBleGlzdGluZ0lGcmFtZSA9IHRoaXMuaUZyYW1lU2VydmljZS5nZXRFeGlzdGluZ0lGcmFtZShJRlJBTUVfRk9SX0NIRUNLX1NFU1NJT05fSURFTlRJRklFUik7XG5cbiAgICAgICAgaWYgKCFleGlzdGluZ0lGcmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXNzaW9uSWZyYW1lID0gZXhpc3RpbmdJRnJhbWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMubGFzdElGcmFtZVJlZnJlc2ggKyB0aGlzLmlmcmFtZVJlZnJlc2hJbnRlcnZhbCA+IERhdGUubm93KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tKFt0aGlzXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZG9lc1Nlc3Npb25FeGlzdCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZnJhbWUgPSB0aGlzLmlGcmFtZVNlcnZpY2UuYWRkSUZyYW1lVG9XaW5kb3dCb2R5KElGUkFNRV9GT1JfQ0hFQ0tfU0VTU0lPTl9JREVOVElGSUVSKTtcbiAgICAgICAgICAgIHRoaXMuaWZyYW1lTWVzc2FnZUV2ZW50ID0gdGhpcy5tZXNzYWdlSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLmlmcmFtZU1lc3NhZ2VFdmVudCwgZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdpbml0IGNoZWNrIHNlc3Npb246IGF1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkLiBSZXR1cm5pbmcuJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIud2VsbEtub3duRW5kcG9pbnRzLmNoZWNrX3Nlc3Npb25faWZyYW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLndlbGxLbm93bkVuZHBvaW50cy5jaGVja19zZXNzaW9uX2lmcmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnaW5pdCBjaGVjayBzZXNzaW9uOiBhdXRoV2VsbEtub3duRW5kcG9pbnRzIGlzIHVuZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8T2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uPikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWZyYW1lLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RJRnJhbWVSZWZyZXNoID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGFydENoZWNraW5nU2Vzc2lvbihjbGllbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNjaGVkdWxlZEhlYXJ0QmVhdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wb2xsU2VydmVyU2Vzc2lvbihjbGllbnRJZCk7XG4gICAgfVxuXG4gICAgc3RvcENoZWNraW5nU2Vzc2lvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNjaGVkdWxlZEhlYXJ0QmVhdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZEhlYXJ0QmVhdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9sbFNlcnZlclNlc3Npb24oY2xpZW50SWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBfcG9sbFNlcnZlclNlc3Npb25SZWN1ciA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdCgpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2Vzc2lvbklmcmFtZSAmJiBjbGllbnRJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKHRoaXMuc2Vzc2lvbklmcmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXNzaW9uX3N0YXRlID0gdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uc2Vzc2lvblN0YXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlc3Npb25fc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHN0YW5kaW5nTWVzc2FnZXMrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25JZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgKyAnICcgKyBzZXNzaW9uX3N0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLnN0c1NlcnZlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIHBvbGxTZXJ2ZXJTZXNzaW9uIHNlc3Npb25fc3RhdGUgaXMgYmxhbmsnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNoZWNrU2Vzc2lvbkNoYW5nZWQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ09pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiBwb2xsU2VydmVyU2Vzc2lvbiBzZXNzaW9uSWZyYW1lIGRvZXMgbm90IGV4aXN0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoY2xpZW50SWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKHRoaXMuc2Vzc2lvbklmcmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmluaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyIHNlbmRpbmcgdGhyZWUgbWVzc2FnZXMgd2l0aCBubyByZXNwb25zZSwgZmFpbC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3V0c3RhbmRpbmdNZXNzYWdlcyA+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIG5vdCByZWNlaXZpbmcgY2hlY2sgc2Vzc2lvbiByZXNwb25zZSBtZXNzYWdlcy4gT3V0c3RhbmRpbmcgbWVzc2FnZXM6ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0c3RhbmRpbmdNZXNzYWdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0uIFNlcnZlciB1bnJlYWNoYWJsZT9gXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25DaGVja1Nlc3Npb25DaGFuZ2VkLm5leHQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0ID0gc2V0VGltZW91dChfcG9sbFNlcnZlclNlc3Npb25SZWN1ciwgdGhpcy5oZWFydEJlYXRJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5vdXRzdGFuZGluZ01lc3NhZ2VzID0gMDtcblxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZWRIZWFydEJlYXQgPSBzZXRUaW1lb3V0KF9wb2xsU2VydmVyU2Vzc2lvblJlY3VyLCB0aGlzLmhlYXJ0QmVhdEludGVydmFsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgY2xlYXJTY2hlZHVsZWRIZWFydEJlYXQoKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNjaGVkdWxlZEhlYXJ0QmVhdCk7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0ID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1lc3NhZ2VIYW5kbGVyKGU6IGFueSkge1xuICAgICAgICB0aGlzLm91dHN0YW5kaW5nTWVzc2FnZXMgPSAwO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZnJhbWUgJiZcbiAgICAgICAgICAgIGUub3JpZ2luID09PSB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLnN0c1NlcnZlciAmJlxuICAgICAgICAgICAgZS5zb3VyY2UgPT09IHRoaXMuc2Vzc2lvbklmcmFtZS5jb250ZW50V2luZG93XG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKGUuZGF0YSA9PT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdlcnJvciBmcm9tIGNoZWNrc2Vzc2lvbiBtZXNzYWdlSGFuZGxlcicpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlLmRhdGEgPT09ICdjaGFuZ2VkJykge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hlY2tTZXNzaW9uQ2hhbmdlZC5uZXh0KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZyhlLmRhdGEgKyAnIGZyb20gY2hlY2tzZXNzaW9uIG1lc3NhZ2VIYW5kbGVyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= |
@@ -8,3 +8,13 @@ /** | ||
import { of, Subject } from 'rxjs'; | ||
import { catchError, map } from 'rxjs/operators'; | ||
import { catchError, switchMap } from 'rxjs/operators'; | ||
/** | ||
* @record | ||
*/ | ||
export function ConfigResult() { } | ||
if (false) { | ||
/** @type {?} */ | ||
ConfigResult.prototype.authWellknownEndpoints; | ||
/** @type {?} */ | ||
ConfigResult.prototype.customConfig; | ||
} | ||
export class OidcConfigService { | ||
@@ -16,3 +26,3 @@ /** | ||
this.httpClient = httpClient; | ||
this._onConfigurationLoaded = new Subject(); | ||
this.configurationLoadedInternal = new Subject(); | ||
} | ||
@@ -23,3 +33,3 @@ /** | ||
get onConfigurationLoaded() { | ||
return this._onConfigurationLoaded.asObservable(); | ||
return this.configurationLoadedInternal.asObservable(); | ||
} | ||
@@ -31,11 +41,10 @@ /** | ||
load(configUrl) { | ||
this.httpClient | ||
return this.httpClient | ||
.get(configUrl) | ||
.pipe(map((/** | ||
* @param {?} response | ||
.pipe(switchMap((/** | ||
* @param {?} clientConfiguration | ||
* @return {?} | ||
*/ | ||
response => { | ||
this.clientConfiguration = response; | ||
this.load_using_stsServer(this.clientConfiguration.stsServer); | ||
clientConfiguration => { | ||
return this.loadUsingConfiguration(clientConfiguration); | ||
})), catchError((/** | ||
@@ -47,6 +56,6 @@ * @param {?} error | ||
console.error(`OidcConfigService 'load' threw an error on calling ${configUrl}`, error); | ||
this._onConfigurationLoaded.next(false); | ||
this.configurationLoadedInternal.next(undefined); | ||
return of(false); | ||
}))) | ||
.subscribe(); | ||
.toPromise(); | ||
} | ||
@@ -58,13 +67,21 @@ /** | ||
load_using_stsServer(stsServer) { | ||
/** @type {?} */ | ||
const url = `${stsServer}/.well-known/openid-configuration`; | ||
this.httpClient | ||
return this.loadUsingConfiguration({ stsServer }).toPromise(); | ||
} | ||
/** | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
load_using_custom_stsServer(url) { | ||
return this.httpClient | ||
.get(url) | ||
.pipe(map((/** | ||
* @param {?} response | ||
.pipe(switchMap((/** | ||
* @param {?} wellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
response => { | ||
this.wellKnownEndpoints = response; | ||
this._onConfigurationLoaded.next(true); | ||
wellKnownEndpoints => { | ||
this.configurationLoadedInternal.next({ | ||
authWellknownEndpoints: wellKnownEndpoints, | ||
customConfig: { stsServer: url }, | ||
}); | ||
return of(true); | ||
})), catchError((/** | ||
@@ -75,22 +92,30 @@ * @param {?} error | ||
error => { | ||
console.error(`OidcConfigService 'load_using_stsServer' threw an error on calling ${stsServer}`, error); | ||
this._onConfigurationLoaded.next(false); | ||
console.error(`OidcConfigService 'load_using_custom_stsServer' threw an error on calling ${url}`, error); | ||
this.configurationLoadedInternal.next(undefined); | ||
return of(false); | ||
}))) | ||
.subscribe(); | ||
.toPromise(); | ||
} | ||
/** | ||
* @param {?} url | ||
* @private | ||
* @param {?} clientConfig | ||
* @return {?} | ||
*/ | ||
load_using_custom_stsServer(url) { | ||
this.httpClient | ||
.get(url) | ||
.pipe(map((/** | ||
* @param {?} response | ||
loadUsingConfiguration(clientConfig) { | ||
if (!clientConfig.stsServer) { | ||
console.error(`Property 'stsServer' is not present of passed config ${JSON.stringify(clientConfig)}`, clientConfig); | ||
throw new Error(`Property 'stsServer' is not present of passed config ${JSON.stringify(clientConfig)}`); | ||
} | ||
/** @type {?} */ | ||
const url = `${clientConfig.stsServer}/.well-known/openid-configuration`; | ||
return this.httpClient.get(url).pipe(switchMap((/** | ||
* @param {?} wellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
response => { | ||
this.wellKnownEndpoints = response; | ||
this._onConfigurationLoaded.next(true); | ||
wellKnownEndpoints => { | ||
this.configurationLoadedInternal.next({ | ||
authWellknownEndpoints: wellKnownEndpoints, | ||
customConfig: clientConfig, | ||
}); | ||
return of(true); | ||
})), catchError((/** | ||
@@ -101,7 +126,6 @@ * @param {?} error | ||
error => { | ||
console.error(`OidcConfigService 'load_using_custom_stsServer' threw an error on calling ${url}`, error); | ||
this._onConfigurationLoaded.next(false); | ||
console.error(`OidcConfigService 'load_using_stsServer' threw an error on calling ${url}`, error); | ||
this.configurationLoadedInternal.next(undefined); | ||
return of(false); | ||
}))) | ||
.subscribe(); | ||
}))); | ||
} | ||
@@ -121,7 +145,3 @@ } | ||
*/ | ||
OidcConfigService.prototype._onConfigurationLoaded; | ||
/** @type {?} */ | ||
OidcConfigService.prototype.clientConfiguration; | ||
/** @type {?} */ | ||
OidcConfigService.prototype.wellKnownEndpoints; | ||
OidcConfigService.prototype.configurationLoadedInternal; | ||
/** | ||
@@ -133,2 +153,2 @@ * @type {?} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LmNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUFTMUIsWUFBNkIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVIzQywyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBUUYsQ0FBQzs7OztJQUp2RCxJQUFXLHFCQUFxQjtRQUM1QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0RCxDQUFDOzs7OztJQUlELElBQUksQ0FBQyxTQUFpQjtRQUNsQixJQUFJLENBQUMsVUFBVTthQUNWLEdBQUcsQ0FBQyxTQUFTLENBQUM7YUFDZCxJQUFJLENBQ0QsR0FBRzs7OztRQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztZQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsRUFBQyxFQUNGLFVBQVU7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRTtZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0RBQXNELFNBQVMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxFQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs7OztJQUVELG9CQUFvQixDQUFDLFNBQWlCOztjQUM1QixHQUFHLEdBQUcsR0FBRyxTQUFTLG1DQUFtQztRQUUzRCxJQUFJLENBQUMsVUFBVTthQUNWLEdBQUcsQ0FBQyxHQUFHLENBQUM7YUFDUixJQUFJLENBQ0QsR0FBRzs7OztRQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztZQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUMsRUFBQyxFQUNGLFVBQVU7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRTtZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0VBQXNFLFNBQVMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxFQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs7OztJQUVELDJCQUEyQixDQUFDLEdBQVc7UUFDbkMsSUFBSSxDQUFDLFVBQVU7YUFDVixHQUFHLENBQUMsR0FBRyxDQUFDO2FBQ1IsSUFBSSxDQUNELEdBQUc7Ozs7UUFBQyxRQUFRLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUM7WUFDbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDLEVBQUMsRUFDRixVQUFVOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDZFQUE2RSxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUNMO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7O1lBL0RKLFVBQVU7Ozs7WUFMRixVQUFVOzs7Ozs7O0lBT2YsbURBQXdEOztJQUN4RCxnREFBeUI7O0lBQ3pCLCtDQUF3Qjs7Ozs7SUFNWix1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9pZGNDb25maWdTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9vbkNvbmZpZ3VyYXRpb25Mb2FkZWQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIGNsaWVudENvbmZpZ3VyYXRpb246IGFueTtcbiAgICB3ZWxsS25vd25FbmRwb2ludHM6IGFueTtcblxuICAgIHB1YmxpYyBnZXQgb25Db25maWd1cmF0aW9uTG9hZGVkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fb25Db25maWd1cmF0aW9uTG9hZGVkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cblxuICAgIGxvYWQoY29uZmlnVXJsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAuZ2V0KGNvbmZpZ1VybClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpZW50Q29uZmlndXJhdGlvbiA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRfdXNpbmdfc3RzU2VydmVyKHRoaXMuY2xpZW50Q29uZmlndXJhdGlvbi5zdHNTZXJ2ZXIpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBPaWRjQ29uZmlnU2VydmljZSAnbG9hZCcgdGhyZXcgYW4gZXJyb3Igb24gY2FsbGluZyAke2NvbmZpZ1VybH1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ29uZmlndXJhdGlvbkxvYWRlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGxvYWRfdXNpbmdfc3RzU2VydmVyKHN0c1NlcnZlcjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3N0c1NlcnZlcn0vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gO1xuXG4gICAgICAgIHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLmdldCh1cmwpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndlbGxLbm93bkVuZHBvaW50cyA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNvbmZpZ3VyYXRpb25Mb2FkZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgT2lkY0NvbmZpZ1NlcnZpY2UgJ2xvYWRfdXNpbmdfc3RzU2VydmVyJyB0aHJldyBhbiBlcnJvciBvbiBjYWxsaW5nICR7c3RzU2VydmVyfWAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25Db25maWd1cmF0aW9uTG9hZGVkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbG9hZF91c2luZ19jdXN0b21fc3RzU2VydmVyKHVybDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLmdldCh1cmwpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndlbGxLbm93bkVuZHBvaW50cyA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNvbmZpZ3VyYXRpb25Mb2FkZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgT2lkY0NvbmZpZ1NlcnZpY2UgJ2xvYWRfdXNpbmdfY3VzdG9tX3N0c1NlcnZlcicgdGhyZXcgYW4gZXJyb3Igb24gY2FsbGluZyAke3VybH1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ29uZmlndXJhdGlvbkxvYWRlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LmNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXZELGtDQUdDOzs7SUFGRyw4Q0FBNEI7O0lBQzVCLG9DQUFrQjs7QUFJdEIsTUFBTSxPQUFPLGlCQUFpQjs7OztJQU8xQixZQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTjNDLGdDQUEyQixHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO0lBTVosQ0FBQzs7OztJQUp2RCxJQUFXLHFCQUFxQjtRQUM1QixPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzRCxDQUFDOzs7OztJQUlELElBQUksQ0FBQyxTQUFpQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ2pCLEdBQUcsQ0FBQyxTQUFTLENBQUM7YUFDZCxJQUFJLENBQ0QsU0FBUzs7OztRQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM1RCxDQUFDLEVBQUMsRUFDRixVQUFVOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHNEQUFzRCxTQUFTLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUNMO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7Ozs7SUFFRCxvQkFBb0IsQ0FBQyxTQUFpQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEUsQ0FBQzs7Ozs7SUFFRCwyQkFBMkIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDakIsR0FBRyxDQUFDLEdBQUcsQ0FBQzthQUNSLElBQUksQ0FDRCxTQUFTOzs7O1FBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDO2dCQUNsQyxzQkFBc0IsRUFBRSxrQkFBa0I7Z0JBQzFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUU7YUFDbkMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw2RUFBNkUsR0FBRyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Ozs7OztJQUVPLHNCQUFzQixDQUFDLFlBQWlCO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0RBQXdELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNwSCxNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRzs7Y0FFSyxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsU0FBUyxtQ0FBbUM7UUFFeEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2hDLFNBQVM7Ozs7UUFBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xDLHNCQUFzQixFQUFFLGtCQUFrQjtnQkFDMUMsWUFBWSxFQUFFLFlBQVk7YUFDN0IsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxzRUFBc0UsR0FBRyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7O1lBeEVKLFVBQVU7Ozs7WUFWRixVQUFVOzs7Ozs7O0lBWWYsd0RBQWtFOzs7OztJQU10RCx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdSZXN1bHQge1xuICAgIGF1dGhXZWxsa25vd25FbmRwb2ludHM6IGFueTtcbiAgICBjdXN0b21Db25maWc6IGFueTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9pZGNDb25maWdTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25Mb2FkZWRJbnRlcm5hbCA9IG5ldyBTdWJqZWN0PENvbmZpZ1Jlc3VsdD4oKTtcblxuICAgIHB1YmxpYyBnZXQgb25Db25maWd1cmF0aW9uTG9hZGVkKCk6IE9ic2VydmFibGU8Q29uZmlnUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25Mb2FkZWRJbnRlcm5hbC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgICBsb2FkKGNvbmZpZ1VybDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQoY29uZmlnVXJsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGNsaWVudENvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkVXNpbmdDb25maWd1cmF0aW9uKGNsaWVudENvbmZpZ3VyYXRpb24pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBPaWRjQ29uZmlnU2VydmljZSAnbG9hZCcgdGhyZXcgYW4gZXJyb3Igb24gY2FsbGluZyAke2NvbmZpZ1VybH1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbkxvYWRlZEludGVybmFsLm5leHQodW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGxvYWRfdXNpbmdfc3RzU2VydmVyKHN0c1NlcnZlcjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRVc2luZ0NvbmZpZ3VyYXRpb24oeyBzdHNTZXJ2ZXIgfSkudG9Qcm9taXNlKCk7XG4gICAgfVxuXG4gICAgbG9hZF91c2luZ19jdXN0b21fc3RzU2VydmVyKHVybDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQodXJsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHdlbGxLbm93bkVuZHBvaW50cyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbkxvYWRlZEludGVybmFsLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFdlbGxrbm93bkVuZHBvaW50czogd2VsbEtub3duRW5kcG9pbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tQ29uZmlnOiB7IHN0c1NlcnZlcjogdXJsIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYE9pZGNDb25maWdTZXJ2aWNlICdsb2FkX3VzaW5nX2N1c3RvbV9zdHNTZXJ2ZXInIHRocmV3IGFuIGVycm9yIG9uIGNhbGxpbmcgJHt1cmx9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Mb2FkZWRJbnRlcm5hbC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRVc2luZ0NvbmZpZ3VyYXRpb24oY2xpZW50Q29uZmlnOiBhbnkpIHtcbiAgICAgICAgaWYgKCFjbGllbnRDb25maWcuc3RzU2VydmVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBQcm9wZXJ0eSAnc3RzU2VydmVyJyBpcyBub3QgcHJlc2VudCBvZiBwYXNzZWQgY29uZmlnICR7SlNPTi5zdHJpbmdpZnkoY2xpZW50Q29uZmlnKX1gLCBjbGllbnRDb25maWcpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQcm9wZXJ0eSAnc3RzU2VydmVyJyBpcyBub3QgcHJlc2VudCBvZiBwYXNzZWQgY29uZmlnICR7SlNPTi5zdHJpbmdpZnkoY2xpZW50Q29uZmlnKX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVybCA9IGAke2NsaWVudENvbmZpZy5zdHNTZXJ2ZXJ9Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYDtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAod2VsbEtub3duRW5kcG9pbnRzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Mb2FkZWRJbnRlcm5hbC5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgYXV0aFdlbGxrbm93bkVuZHBvaW50czogd2VsbEtub3duRW5kcG9pbnRzLFxuICAgICAgICAgICAgICAgICAgICBjdXN0b21Db25maWc6IGNsaWVudENvbmZpZyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYE9pZGNDb25maWdTZXJ2aWNlICdsb2FkX3VzaW5nX3N0c1NlcnZlcicgdGhyZXcgYW4gZXJyb3Igb24gY2FsbGluZyAke3VybH1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uTG9hZGVkSW50ZXJuYWwubmV4dCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ== |
@@ -6,3 +6,3 @@ /** | ||
import { Injectable } from '@angular/core'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
/** | ||
@@ -36,6 +36,6 @@ * Implement this class-interface to create a custom storage. | ||
/** | ||
* @param {?} authConfiguration | ||
* @param {?} configProvider | ||
*/ | ||
constructor(authConfiguration) { | ||
this.authConfiguration = authConfiguration; | ||
constructor(configProvider) { | ||
this.configProvider = configProvider; | ||
this.hasStorage = typeof Storage !== 'undefined'; | ||
@@ -49,3 +49,3 @@ } | ||
if (this.hasStorage) { | ||
return JSON.parse(this.authConfiguration.storage.getItem(key + '_' + this.authConfiguration.client_id)); | ||
return JSON.parse(this.configProvider.openIDConfiguration.storage.getItem(key + '_' + this.configProvider.openIDConfiguration.client_id)); | ||
} | ||
@@ -62,3 +62,3 @@ return; | ||
value = value === undefined ? null : value; | ||
this.authConfiguration.storage.setItem(key + '_' + this.authConfiguration.client_id, JSON.stringify(value)); | ||
this.configProvider.openIDConfiguration.storage.setItem(key + '_' + this.configProvider.openIDConfiguration.client_id, JSON.stringify(value)); | ||
} | ||
@@ -72,3 +72,3 @@ } | ||
BrowserStorage.ctorParameters = () => [ | ||
{ type: AuthConfiguration } | ||
{ type: ConfigurationProvider } | ||
]; | ||
@@ -85,4 +85,4 @@ if (false) { | ||
*/ | ||
BrowserStorage.prototype.authConfiguration; | ||
BrowserStorage.prototype.configProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFNbEUsTUFBTSxPQUFnQixtQkFBbUI7OztZQUR4QyxVQUFVOzs7Ozs7Ozs7SUFPUCx3REFBdUM7Ozs7Ozs7O0lBT3ZDLGdFQUFxRDs7QUFJekQsTUFBTSxPQUFPLGNBQWM7Ozs7SUFHdkIsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLE9BQU8sS0FBSyxXQUFXLENBQUM7SUFDckQsQ0FBQzs7Ozs7SUFFTSxJQUFJLENBQUMsR0FBVztRQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDM0c7UUFFRCxPQUFPO0lBQ1gsQ0FBQzs7Ozs7O0lBRU0sS0FBSyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2hDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixLQUFLLEdBQUcsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvRztJQUNMLENBQUM7OztZQXJCSixVQUFVOzs7O1lBdEJGLGlCQUFpQjs7Ozs7OztJQXdCdEIsb0NBQTRCOzs7OztJQUVoQiwyQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC5jb25maWd1cmF0aW9uJztcblxuLyoqXG4gKiBJbXBsZW1lbnQgdGhpcyBjbGFzcy1pbnRlcmZhY2UgdG8gY3JlYXRlIGEgY3VzdG9tIHN0b3JhZ2UuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPaWRjU2VjdXJpdHlTdG9yYWdlIHtcbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBtdXN0IGNvbnRhaW4gdGhlIGxvZ2ljIHRvIHJlYWQgdGhlIHN0b3JhZ2UuXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEByZXR1cm4gVGhlIHZhbHVlIG9mIHRoZSBnaXZlbiBrZXlcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVhZChrZXk6IHN0cmluZyk6IGFueTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIG11c3QgY29udGFpbiB0aGUgbG9naWMgdG8gd3JpdGUgdGhlIHN0b3JhZ2UuXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgZm9yIHRoZSBnaXZlbiBrZXlcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3Qgd3JpdGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnJvd3NlclN0b3JhZ2UgaW1wbGVtZW50cyBPaWRjU2VjdXJpdHlTdG9yYWdlIHtcbiAgICBwcml2YXRlIGhhc1N0b3JhZ2U6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhDb25maWd1cmF0aW9uOiBBdXRoQ29uZmlndXJhdGlvbikge1xuICAgICAgICB0aGlzLmhhc1N0b3JhZ2UgPSB0eXBlb2YgU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgfVxuXG4gICAgcHVibGljIHJlYWQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5oYXNTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLmF1dGhDb25maWd1cmF0aW9uLnN0b3JhZ2UuZ2V0SXRlbShrZXkgKyAnXycgKyB0aGlzLmF1dGhDb25maWd1cmF0aW9uLmNsaWVudF9pZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNTdG9yYWdlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlID09PSB1bmRlZmluZWQgPyBudWxsIDogdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnN0b3JhZ2Uuc2V0SXRlbShrZXkgKyAnXycgKyB0aGlzLmF1dGhDb25maWd1cmF0aW9uLmNsaWVudF9pZCwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFNdEUsTUFBTSxPQUFnQixtQkFBbUI7OztZQUR4QyxVQUFVOzs7Ozs7Ozs7SUFPUCx3REFBdUM7Ozs7Ozs7O0lBT3ZDLGdFQUFxRDs7QUFJekQsTUFBTSxPQUFPLGNBQWM7Ozs7SUFHdkIsWUFBb0IsY0FBcUM7UUFBckMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDO0lBQ3JELENBQUM7Ozs7O0lBRU0sSUFBSSxDQUFDLEdBQVc7UUFDbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDN0k7UUFFRCxPQUFPO0lBQ1gsQ0FBQzs7Ozs7O0lBRU0sS0FBSyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2hDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixLQUFLLEdBQUcsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUNuRCxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUN4QixDQUFDO1NBQ0w7SUFDTCxDQUFDOzs7WUF4QkosVUFBVTs7OztZQXRCRixxQkFBcUI7Ozs7Ozs7SUF3QjFCLG9DQUE0Qjs7Ozs7SUFFaEIsd0NBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9hdXRoLWNvbmZpZ3VyYXRpb24ucHJvdmlkZXInO1xuXG4vKipcbiAqIEltcGxlbWVudCB0aGlzIGNsYXNzLWludGVyZmFjZSB0byBjcmVhdGUgYSBjdXN0b20gc3RvcmFnZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9pZGNTZWN1cml0eVN0b3JhZ2Uge1xuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIG11c3QgY29udGFpbiB0aGUgbG9naWMgdG8gcmVhZCB0aGUgc3RvcmFnZS5cbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGdpdmVuIGtleVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZWFkKGtleTogc3RyaW5nKTogYW55O1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgbXVzdCBjb250YWluIHRoZSBsb2dpYyB0byB3cml0ZSB0aGUgc3RvcmFnZS5cbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBmb3IgdGhlIGdpdmVuIGtleVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCB3cml0ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCcm93c2VyU3RvcmFnZSBpbXBsZW1lbnRzIE9pZGNTZWN1cml0eVN0b3JhZ2Uge1xuICAgIHByaXZhdGUgaGFzU3RvcmFnZTogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnUHJvdmlkZXI6IENvbmZpZ3VyYXRpb25Qcm92aWRlcikge1xuICAgICAgICB0aGlzLmhhc1N0b3JhZ2UgPSB0eXBlb2YgU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgfVxuXG4gICAgcHVibGljIHJlYWQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5oYXNTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLmNvbmZpZ1Byb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uc3RvcmFnZS5nZXRJdGVtKGtleSArICdfJyArIHRoaXMuY29uZmlnUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5jbGllbnRfaWQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzU3RvcmFnZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5jb25maWdQcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLnN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICAgICAgICBrZXkgKyAnXycgKyB0aGlzLmNvbmZpZ1Byb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uY2xpZW50X2lkLFxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHZhbHVlKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== |
@@ -8,2 +8,3 @@ /** | ||
import { OidcDataService } from '../data-services/oidc-data.service'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { LoggerService } from './oidc.logger.service'; | ||
@@ -16,19 +17,14 @@ import { OidcSecurityCommon } from './oidc.security.common'; | ||
* @param {?} loggerService | ||
* @param {?} configurationProvider | ||
*/ | ||
constructor(oidcDataService, oidcSecurityCommon, loggerService) { | ||
constructor(oidcDataService, oidcSecurityCommon, loggerService, configurationProvider) { | ||
this.oidcDataService = oidcDataService; | ||
this.oidcSecurityCommon = oidcSecurityCommon; | ||
this.loggerService = loggerService; | ||
this.configurationProvider = configurationProvider; | ||
this.userData = ''; | ||
} | ||
/** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
setupModule(authWellKnownEndpoints) { | ||
this.authWellKnownEndpoints = Object.assign({}, authWellKnownEndpoints); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
initUserData() { | ||
@@ -64,3 +60,3 @@ return this.getIdentityUserData().pipe(map((/** | ||
const token = this.oidcSecurityCommon.getAccessToken(); | ||
if (!this.authWellKnownEndpoints) { | ||
if (!this.configurationProvider.wellKnownEndpoints) { | ||
this.loggerService.logWarning('init check session: authWellKnownEndpoints is undefined'); | ||
@@ -70,3 +66,3 @@ throw Error('authWellKnownEndpoints is undefined'); | ||
/** @type {?} */ | ||
const canGetUserData = this.authWellKnownEndpoints && this.authWellKnownEndpoints.userinfo_endpoint; | ||
const canGetUserData = this.configurationProvider.wellKnownEndpoints && this.configurationProvider.wellKnownEndpoints.userinfo_endpoint; | ||
if (!canGetUserData) { | ||
@@ -76,3 +72,3 @@ this.loggerService.logError('init check session: authWellKnownEndpoints.userinfo_endpoint is undefined; set auto_userinfo = false in config'); | ||
} | ||
return this.oidcDataService.getIdentityUserData(this.authWellKnownEndpoints.userinfo_endpoint, token); | ||
return this.oidcDataService.getIdentityUserData(this.configurationProvider.wellKnownEndpoints.userinfo_endpoint || '', token); | ||
} | ||
@@ -87,3 +83,4 @@ } | ||
{ type: OidcSecurityCommon }, | ||
{ type: LoggerService } | ||
{ type: LoggerService }, | ||
{ type: ConfigurationProvider } | ||
]; | ||
@@ -100,3 +97,3 @@ if (false) { | ||
*/ | ||
OidcSecurityUserService.prototype.authWellKnownEndpoints; | ||
OidcSecurityUserService.prototype.oidcDataService; | ||
/** | ||
@@ -106,3 +103,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityUserService.prototype.oidcDataService; | ||
OidcSecurityUserService.prototype.oidcSecurityCommon; | ||
/** | ||
@@ -112,3 +109,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityUserService.prototype.oidcSecurityCommon; | ||
OidcSecurityUserService.prototype.loggerService; | ||
/** | ||
@@ -118,4 +115,4 @@ * @type {?} | ||
*/ | ||
OidcSecurityUserService.prototype.loggerService; | ||
OidcSecurityUserService.prototype.configurationProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHNUQsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7O0lBSWhDLFlBQW9CLGVBQWdDLEVBQVUsa0JBQXNDLEVBQVUsYUFBNEI7UUFBdEgsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSGxJLGFBQVEsR0FBUSxFQUFFLENBQUM7SUFHa0gsQ0FBQzs7Ozs7SUFFOUksV0FBVyxDQUFDLHNCQUE4QztRQUN0RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUM1RSxDQUFDOzs7O0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUc7Ozs7UUFBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDOzs7O0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE1BQU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDdkM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDOzs7OztJQUVPLG1CQUFtQjs7Y0FDakIsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUU7UUFFdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1lBRXpGLE1BQU0sS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDdEQ7O2NBRUssY0FBYyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCO1FBRW5HLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3ZCLGdIQUFnSCxDQUNuSCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUN4RTtRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUcsQ0FBQzs7O1lBOUNKLFVBQVU7Ozs7WUFMRixlQUFlO1lBR2Ysa0JBQWtCO1lBRGxCLGFBQWE7Ozs7Ozs7SUFLbEIsMkNBQTJCOzs7OztJQUMzQix5REFBbUU7Ozs7O0lBRXZELGtEQUF3Qzs7Ozs7SUFBRSxxREFBOEM7Ozs7O0lBQUUsZ0RBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2lkY0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoV2VsbEtub3duRW5kcG9pbnRzIH0gZnJvbSAnLi4vbW9kZWxzL2F1dGgud2VsbC1rbm93bi1lbmRwb2ludHMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vb2lkYy5sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlDb21tb24gfSBmcm9tICcuL29pZGMuc2VjdXJpdHkuY29tbW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9pZGNTZWN1cml0eVVzZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHVzZXJEYXRhOiBhbnkgPSAnJztcbiAgICBwcml2YXRlIGF1dGhXZWxsS25vd25FbmRwb2ludHM6IEF1dGhXZWxsS25vd25FbmRwb2ludHMgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9pZGNEYXRhU2VydmljZTogT2lkY0RhdGFTZXJ2aWNlLCBwcml2YXRlIG9pZGNTZWN1cml0eUNvbW1vbjogT2lkY1NlY3VyaXR5Q29tbW9uLCBwcml2YXRlIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UpIHt9XG5cbiAgICBzZXR1cE1vZHVsZShhdXRoV2VsbEtub3duRW5kcG9pbnRzOiBBdXRoV2VsbEtub3duRW5kcG9pbnRzKSB7XG4gICAgICAgIHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cyA9IE9iamVjdC5hc3NpZ24oe30sIGF1dGhXZWxsS25vd25FbmRwb2ludHMpO1xuICAgIH1cblxuICAgIGluaXRVc2VyRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SWRlbnRpdHlVc2VyRGF0YSgpLnBpcGUobWFwKChkYXRhOiBhbnkpID0+ICh0aGlzLnVzZXJEYXRhID0gZGF0YSkpKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyRGF0YSgpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMudXNlckRhdGEpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdVc2VyRGF0YSBpcyBub3Qgc2V0IScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlckRhdGE7XG4gICAgfVxuXG4gICAgc2V0VXNlckRhdGEodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJEYXRhID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJZGVudGl0eVVzZXJEYXRhKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgICAgICBpZiAoIXRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2luaXQgY2hlY2sgc2Vzc2lvbjogYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQnKTtcblxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYW5HZXRVc2VyRGF0YSA9IHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cyAmJiB0aGlzLmF1dGhXZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQ7XG5cbiAgICAgICAgaWYgKCFjYW5HZXRVc2VyRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0Vycm9yKFxuICAgICAgICAgICAgICAgICdpbml0IGNoZWNrIHNlc3Npb246IGF1dGhXZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQgaXMgdW5kZWZpbmVkOyBzZXQgYXV0b191c2VyaW5mbyA9IGZhbHNlIGluIGNvbmZpZydcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignYXV0aFdlbGxLbm93bkVuZHBvaW50cy51c2VyaW5mb19lbmRwb2ludCBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9pZGNEYXRhU2VydmljZS5nZXRJZGVudGl0eVVzZXJEYXRhKHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cy51c2VyaW5mb19lbmRwb2ludCwgdG9rZW4pO1xuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHNUQsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7OztJQUdoQyxZQUNZLGVBQWdDLEVBQ2hDLGtCQUFzQyxFQUN0QyxhQUE0QixFQUNuQixxQkFBNEM7UUFIckQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDbkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQU56RCxhQUFRLEdBQVEsRUFBRSxDQUFDO0lBT3hCLENBQUM7Ozs7SUFFSixZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRzs7OztRQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsTUFBTSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUN2QztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRU8sbUJBQW1COztjQUNqQixLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRTtRQUV0RCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFO1lBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7WUFFekYsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUN0RDs7Y0FFSyxjQUFjLEdBQ2hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCO1FBRXBILElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3ZCLGdIQUFnSCxDQUNuSCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUN4RTtRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xJLENBQUM7OztZQS9DSixVQUFVOzs7O1lBTEYsZUFBZTtZQUdmLGtCQUFrQjtZQURsQixhQUFhO1lBRGIscUJBQXFCOzs7Ozs7O0lBTTFCLDJDQUEyQjs7Ozs7SUFHdkIsa0RBQXdDOzs7OztJQUN4QyxxREFBOEM7Ozs7O0lBQzlDLGdEQUFvQzs7Ozs7SUFDcEMsd0RBQTZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2lkY0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUHJvdmlkZXIgfSBmcm9tICcuL2F1dGgtY29uZmlndXJhdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNvbW1vbiB9IGZyb20gJy4vb2lkYy5zZWN1cml0eS5jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT2lkY1NlY3VyaXR5VXNlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgdXNlckRhdGE6IGFueSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgb2lkY0RhdGFTZXJ2aWNlOiBPaWRjRGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgb2lkY1NlY3VyaXR5Q29tbW9uOiBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgIHByaXZhdGUgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uUHJvdmlkZXI6IENvbmZpZ3VyYXRpb25Qcm92aWRlclxuICAgICkge31cblxuICAgIGluaXRVc2VyRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SWRlbnRpdHlVc2VyRGF0YSgpLnBpcGUobWFwKChkYXRhOiBhbnkpID0+ICh0aGlzLnVzZXJEYXRhID0gZGF0YSkpKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyRGF0YSgpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMudXNlckRhdGEpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdVc2VyRGF0YSBpcyBub3Qgc2V0IScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlckRhdGE7XG4gICAgfVxuXG4gICAgc2V0VXNlckRhdGEodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJEYXRhID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJZGVudGl0eVVzZXJEYXRhKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLndlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2luaXQgY2hlY2sgc2Vzc2lvbjogYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQnKTtcblxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYW5HZXRVc2VyRGF0YSA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMgJiYgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIud2VsbEtub3duRW5kcG9pbnRzLnVzZXJpbmZvX2VuZHBvaW50O1xuXG4gICAgICAgIGlmICghY2FuR2V0VXNlckRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dFcnJvcihcbiAgICAgICAgICAgICAgICAnaW5pdCBjaGVjayBzZXNzaW9uOiBhdXRoV2VsbEtub3duRW5kcG9pbnRzLnVzZXJpbmZvX2VuZHBvaW50IGlzIHVuZGVmaW5lZDsgc2V0IGF1dG9fdXNlcmluZm8gPSBmYWxzZSBpbiBjb25maWcnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vaWRjRGF0YVNlcnZpY2UuZ2V0SWRlbnRpdHlVc2VyRGF0YSh0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQgfHwgJycsIHRva2VuKTtcbiAgICB9XG59XG4iXX0= |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export { AuthWellKnownEndpoints, AuthorizationResult, AuthorizationState, JwtKeys, JwtKey, ValidateStateResult, ValidationResult, OpenIDImplicitFlowConfiguration, AuthConfiguration, AuthModule, OidcConfigService, OidcSecurityService, OidcSecurityStorage, BrowserStorage, OidcSecurityValidation, TokenHelperService } from './lib/angular-auth-oidc-client'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlVQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLWF1dGgtb2lkYy1jbGllbnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQnO1xuXG4iXX0= | ||
export { AuthorizationResult, AuthorizationState, JwtKeys, JwtKey, ValidateStateResult, ValidationResult, AuthModule, TokenHelperService, OidcConfigService, OidcSecurityService, OidcSecurityStorage, BrowserStorage, OidcSecurityValidation } from './lib/angular-auth-oidc-client'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLHFQQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLWF1dGgtb2lkYy1jbGllbnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQnO1xuXG4iXX0= |
@@ -8,12 +8,14 @@ /** | ||
*/ | ||
export { AuthWellKnownEndpoints, AuthorizationResult, AuthorizationState, JwtKeys, JwtKey, ValidateStateResult, ValidationResult, OpenIDImplicitFlowConfiguration, AuthConfiguration, AuthModule, OidcConfigService, OidcSecurityService, OidcSecurityStorage, BrowserStorage, OidcSecurityValidation, TokenHelperService } from './public-api'; | ||
export { AuthorizationResult, AuthorizationState, JwtKeys, JwtKey, ValidateStateResult, ValidationResult, AuthModule, TokenHelperService, OidcConfigService, OidcSecurityService, OidcSecurityStorage, BrowserStorage, OidcSecurityValidation } from './public-api'; | ||
export { OidcDataService as ɵa } from './lib/data-services/oidc-data.service'; | ||
export { IFrameService as ɵg } from './lib/services/existing-iframe.service'; | ||
export { ConfigurationProvider as ɵf } from './lib/services/auth-configuration.provider'; | ||
export { IFrameService as ɵi } from './lib/services/existing-iframe.service'; | ||
export { EqualityHelperService as ɵd } from './lib/services/oidc-equality-helper.service'; | ||
export { StateValidationService as ɵb } from './lib/services/oidc-security-state-validation.service'; | ||
export { LoggerService as ɵe } from './lib/services/oidc.logger.service'; | ||
export { OidcSecurityCheckSession as ɵf } from './lib/services/oidc.security.check-session'; | ||
export { OidcSecurityCheckSession as ɵh } from './lib/services/oidc.security.check-session'; | ||
export { OidcSecurityCommon as ɵc } from './lib/services/oidc.security.common'; | ||
export { OidcSecuritySilentRenew as ɵh } from './lib/services/oidc.security.silent-renew'; | ||
export { OidcSecurityUserService as ɵi } from './lib/services/oidc.security.user-service'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxpVUFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDMUYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RixPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7T2lkY0RhdGFTZXJ2aWNlIGFzIMm1YX0gZnJvbSAnLi9saWIvZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5leHBvcnQge0lGcmFtZVNlcnZpY2UgYXMgybVnfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leGlzdGluZy1pZnJhbWUuc2VydmljZSc7XG5leHBvcnQge0VxdWFsaXR5SGVscGVyU2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMtZXF1YWxpdHktaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtTdGF0ZVZhbGlkYXRpb25TZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtMb2dnZXJTZXJ2aWNlIGFzIMm1ZX0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy5sb2dnZXIuc2VydmljZSc7XG5leHBvcnQge09pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiBhcyDJtWZ9IGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY2hlY2stc2Vzc2lvbic7XG5leHBvcnQge09pZGNTZWN1cml0eUNvbW1vbiBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY29tbW9uJztcbmV4cG9ydCB7T2lkY1NlY3VyaXR5U2lsZW50UmVuZXcgYXMgybVofSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LnNpbGVudC1yZW5ldyc7XG5leHBvcnQge09pZGNTZWN1cml0eVVzZXJTZXJ2aWNlIGFzIMm1aX0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UnOyJdfQ== | ||
export { OidcSecuritySilentRenew as ɵj } from './lib/services/oidc.security.silent-renew'; | ||
export { OidcSecurityUserService as ɵk } from './lib/services/oidc.security.user-service'; | ||
export { PlatformProvider as ɵg } from './lib/services/platform.provider'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxxUEFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzFGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtPaWRjRGF0YVNlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9kYXRhLXNlcnZpY2VzL29pZGMtZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCB7Q29uZmlndXJhdGlvblByb3ZpZGVyIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC1jb25maWd1cmF0aW9uLnByb3ZpZGVyJztcbmV4cG9ydCB7SUZyYW1lU2VydmljZSBhcyDJtWl9IGZyb20gJy4vbGliL3NlcnZpY2VzL2V4aXN0aW5nLWlmcmFtZS5zZXJ2aWNlJztcbmV4cG9ydCB7RXF1YWxpdHlIZWxwZXJTZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy1lcXVhbGl0eS1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQge1N0YXRlVmFsaWRhdGlvblNlcnZpY2UgYXMgybVifSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vaWRjLXNlY3VyaXR5LXN0YXRlLXZhbGlkYXRpb24uc2VydmljZSc7XG5leHBvcnQge0xvZ2dlclNlcnZpY2UgYXMgybVlfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmV4cG9ydCB7T2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIGFzIMm1aH0gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS5jaGVjay1zZXNzaW9uJztcbmV4cG9ydCB7T2lkY1NlY3VyaXR5Q29tbW9uIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS5jb21tb24nO1xuZXhwb3J0IHtPaWRjU2VjdXJpdHlTaWxlbnRSZW5ldyBhcyDJtWp9IGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc2lsZW50LXJlbmV3JztcbmV4cG9ydCB7T2lkY1NlY3VyaXR5VXNlclNlcnZpY2UgYXMgybVrfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LnVzZXItc2VydmljZSc7XG5leHBvcnQge1BsYXRmb3JtUHJvdmlkZXIgYXMgybVnfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wbGF0Zm9ybS5wcm92aWRlcic7Il19 |
@@ -6,3 +6,4 @@ /** | ||
// Public classes. | ||
export { AuthWellKnownEndpoints } from './models/auth.well-known-endpoints'; | ||
export {} from './models/auth.configuration'; | ||
export {} from './models/auth.well-known-endpoints'; | ||
export { AuthorizationResult } from './models/authorization-result'; | ||
@@ -13,4 +14,4 @@ export { AuthorizationState } from './models/authorization-state.enum'; | ||
export { ValidationResult } from './models/validation-result.enum'; | ||
export { OpenIDImplicitFlowConfiguration, AuthConfiguration } from './modules/auth.configuration'; | ||
export { AuthModule } from './modules/auth.module'; | ||
export { TokenHelperService } from './services/oidc-token-helper.service'; | ||
export { OidcConfigService } from './services/oidc.security.config.service'; | ||
@@ -20,3 +21,2 @@ export { OidcSecurityService } from './services/oidc.security.service'; | ||
export { OidcSecurityValidation } from './services/oidc.security.validation'; | ||
export { TokenHelperService } from './services/oidc-token-helper.service'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHVDQUFjLG9DQUFvQyxDQUFDO0FBQ25ELG9DQUFjLCtCQUErQixDQUFDO0FBQzlDLG1DQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLG9DQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGlDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELG1FQUFjLDhCQUE4QixDQUFDO0FBQzdDLDJCQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGtDQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG9DQUFjLGtDQUFrQyxDQUFDO0FBQ2pELG9EQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHVDQUFjLHFDQUFxQyxDQUFDO0FBQ3BELG1DQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUHVibGljIGNsYXNzZXMuXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2F1dGgud2VsbC1rbm93bi1lbmRwb2ludHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXV0aG9yaXphdGlvbi1yZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXV0aG9yaXphdGlvbi1zdGF0ZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2p3dGtleXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdmFsaWRhdGUtc3RhdGUtcmVzdWx0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3ZhbGlkYXRpb24tcmVzdWx0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2F1dGguY29uZmlndXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvYXV0aC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LmNvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zdG9yYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy5zZWN1cml0eS52YWxpZGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy10b2tlbi1oZWxwZXIuc2VydmljZSc7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyxvQ0FBb0MsQ0FBQztBQUNuRCxvQ0FBYywrQkFBK0IsQ0FBQztBQUM5QyxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxnQ0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxvQ0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxpQ0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCwyQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxtQ0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxrQ0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxvQ0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxvREFBYyxrQ0FBa0MsQ0FBQztBQUNqRCx1Q0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFB1YmxpYyBjbGFzc2VzLlxuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hdXRoLmNvbmZpZ3VyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hdXRob3JpemF0aW9uLXJlc3VsdCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hdXRob3JpemF0aW9uLXN0YXRlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvand0a2V5cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy92YWxpZGF0ZS1zdGF0ZS1yZXN1bHQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdmFsaWRhdGlvbi1yZXN1bHQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvYXV0aC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9vaWRjLXRva2VuLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc3RvcmFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkudmFsaWRhdGlvbic7XG4iXX0= |
@@ -5,64 +5,26 @@ /** | ||
*/ | ||
var AuthWellKnownEndpoints = /** @class */ (function () { | ||
function AuthWellKnownEndpoints() { | ||
this.issuer = ''; | ||
this.jwks_uri = ''; | ||
this.authorization_endpoint = ''; | ||
this.token_endpoint = ''; | ||
this.userinfo_endpoint = ''; | ||
this.end_session_endpoint = ''; | ||
this.check_session_iframe = ''; | ||
this.revocation_endpoint = ''; | ||
this.introspection_endpoint = ''; | ||
} | ||
/** | ||
* @param {?} data | ||
* @return {?} | ||
*/ | ||
AuthWellKnownEndpoints.prototype.setWellKnownEndpoints = /** | ||
* @param {?} data | ||
* @return {?} | ||
*/ | ||
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; | ||
if (data.end_session_endpoint) { | ||
this.end_session_endpoint = data.end_session_endpoint; | ||
} | ||
if (data.check_session_iframe) { | ||
this.check_session_iframe = data.check_session_iframe; | ||
} | ||
if (data.revocation_endpoint) { | ||
this.revocation_endpoint = data.revocation_endpoint; | ||
} | ||
if (data.introspection_endpoint) { | ||
this.introspection_endpoint = data.introspection_endpoint; | ||
} | ||
}; | ||
return AuthWellKnownEndpoints; | ||
}()); | ||
export { AuthWellKnownEndpoints }; | ||
/** | ||
* @record | ||
*/ | ||
export function AuthWellKnownEndpoints() { } | ||
if (false) { | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.issuer; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.jwks_uri; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.authorization_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.token_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.userinfo_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.end_session_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.check_session_iframe; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.revocation_endpoint; | ||
/** @type {?} */ | ||
/** @type {?|undefined} */ | ||
AuthWellKnownEndpoints.prototype.introspection_endpoint; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7SUFBQTtRQUNJLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsMkJBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDMUIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QiwyQkFBc0IsR0FBRyxFQUFFLENBQUM7SUF5QmhDLENBQUM7Ozs7O0lBdkJVLHNEQUFxQjs7OztJQUE1QixVQUE2QixJQUFTO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUVoRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1NBQ3pEO1FBRUQsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDM0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztTQUN6RDtRQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzFCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDdkQ7UUFFRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1NBQzdEO0lBQ0wsQ0FBQztJQUNMLDZCQUFDO0FBQUQsQ0FBQyxBQWxDRCxJQWtDQzs7OztJQWpDRyx3Q0FBWTs7SUFDWiwwQ0FBYzs7SUFDZCx3REFBNEI7O0lBQzVCLGdEQUFvQjs7SUFDcEIsbURBQXVCOztJQUN2QixzREFBMEI7O0lBQzFCLHNEQUEwQjs7SUFDMUIscURBQXlCOztJQUN6Qix3REFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0aFdlbGxLbm93bkVuZHBvaW50cyB7XG4gICAgaXNzdWVyID0gJyc7XG4gICAgandrc191cmkgPSAnJztcbiAgICBhdXRob3JpemF0aW9uX2VuZHBvaW50ID0gJyc7XG4gICAgdG9rZW5fZW5kcG9pbnQgPSAnJztcbiAgICB1c2VyaW5mb19lbmRwb2ludCA9ICcnO1xuICAgIGVuZF9zZXNzaW9uX2VuZHBvaW50ID0gJyc7XG4gICAgY2hlY2tfc2Vzc2lvbl9pZnJhbWUgPSAnJztcbiAgICByZXZvY2F0aW9uX2VuZHBvaW50ID0gJyc7XG4gICAgaW50cm9zcGVjdGlvbl9lbmRwb2ludCA9ICcnO1xuXG4gICAgcHVibGljIHNldFdlbGxLbm93bkVuZHBvaW50cyhkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5pc3N1ZXIgPSBkYXRhLmlzc3VlcjtcbiAgICAgICAgdGhpcy5qd2tzX3VyaSA9IGRhdGEuandrc191cmk7XG4gICAgICAgIHRoaXMuYXV0aG9yaXphdGlvbl9lbmRwb2ludCA9IGRhdGEuYXV0aG9yaXphdGlvbl9lbmRwb2ludDtcbiAgICAgICAgdGhpcy50b2tlbl9lbmRwb2ludCA9IGRhdGEudG9rZW5fZW5kcG9pbnQ7XG4gICAgICAgIHRoaXMudXNlcmluZm9fZW5kcG9pbnQgPSBkYXRhLnVzZXJpbmZvX2VuZHBvaW50O1xuXG4gICAgICAgIGlmIChkYXRhLmVuZF9zZXNzaW9uX2VuZHBvaW50KSB7XG4gICAgICAgICAgICB0aGlzLmVuZF9zZXNzaW9uX2VuZHBvaW50ID0gZGF0YS5lbmRfc2Vzc2lvbl9lbmRwb2ludDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLmNoZWNrX3Nlc3Npb25faWZyYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrX3Nlc3Npb25faWZyYW1lID0gZGF0YS5jaGVja19zZXNzaW9uX2lmcmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLnJldm9jYXRpb25fZW5kcG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmV2b2NhdGlvbl9lbmRwb2ludCA9IGRhdGEucmV2b2NhdGlvbl9lbmRwb2ludDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLmludHJvc3BlY3Rpb25fZW5kcG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaW50cm9zcGVjdGlvbl9lbmRwb2ludCA9IGRhdGEuaW50cm9zcGVjdGlvbl9lbmRwb2ludDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsNENBVUM7OztJQVRDLHdDQUFnQjs7SUFDaEIsMENBQWtCOztJQUNsQix3REFBZ0M7O0lBQ2hDLGdEQUF3Qjs7SUFDeEIsbURBQTJCOztJQUMzQixzREFBOEI7O0lBQzlCLHNEQUE4Qjs7SUFDOUIscURBQTZCOztJQUM3Qix3REFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEF1dGhXZWxsS25vd25FbmRwb2ludHMge1xuICBpc3N1ZXI/OiBzdHJpbmc7XG4gIGp3a3NfdXJpPzogc3RyaW5nO1xuICBhdXRob3JpemF0aW9uX2VuZHBvaW50Pzogc3RyaW5nO1xuICB0b2tlbl9lbmRwb2ludD86IHN0cmluZztcbiAgdXNlcmluZm9fZW5kcG9pbnQ/OiBzdHJpbmc7XG4gIGVuZF9zZXNzaW9uX2VuZHBvaW50Pzogc3RyaW5nO1xuICBjaGVja19zZXNzaW9uX2lmcmFtZT86IHN0cmluZztcbiAgcmV2b2NhdGlvbl9lbmRwb2ludD86IHN0cmluZztcbiAgaW50cm9zcGVjdGlvbl9lbmRwb2ludD86IHN0cmluZztcbn1cbiJdfQ== |
@@ -7,3 +7,2 @@ /** | ||
import { OidcDataService } from '../data-services/oidc-data.service'; | ||
import { AuthWellKnownEndpoints } from '../models/auth.well-known-endpoints'; | ||
import { IFrameService } from '../services/existing-iframe.service'; | ||
@@ -22,3 +21,2 @@ import { EqualityHelperService } from '../services/oidc-equality-helper.service'; | ||
import { OidcSecurityValidation } from '../services/oidc.security.validation'; | ||
import { AuthConfiguration } from './auth.configuration'; | ||
var AuthModule = /** @class */ (function () { | ||
@@ -47,3 +45,2 @@ function AuthModule() { | ||
OidcSecurityCommon, | ||
AuthConfiguration, | ||
TokenHelperService, | ||
@@ -53,3 +50,2 @@ LoggerService, | ||
EqualityHelperService, | ||
AuthWellKnownEndpoints, | ||
OidcDataService, | ||
@@ -83,2 +79,2 @@ StateValidationService, | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpEO0lBQUE7SUE0QkEsQ0FBQzs7Ozs7SUExQlUsa0JBQU87Ozs7SUFBZCxVQUFlLEtBQWlCO1FBQWpCLHNCQUFBLEVBQUEsVUFBaUI7UUFDNUIsT0FBTztZQUNILFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDUCxpQkFBaUI7Z0JBQ2pCLG1CQUFtQjtnQkFDbkIsc0JBQXNCO2dCQUN0Qix3QkFBd0I7Z0JBQ3hCLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2dCQUN2QixrQkFBa0I7Z0JBQ2xCLGlCQUFpQjtnQkFDakIsa0JBQWtCO2dCQUNsQixhQUFhO2dCQUNiLGFBQWE7Z0JBQ2IscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLGVBQWU7Z0JBQ2Ysc0JBQXNCO2dCQUN0QjtvQkFDSSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxjQUFjO2lCQUM1QzthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7O2dCQTNCSixRQUFROztJQTRCVCxpQkFBQztDQUFBLEFBNUJELElBNEJDO1NBM0JZLFVBQVU7Ozs7O0FBNkJ2QiwwQkFFQzs7OztBQUVELDJCQUVDOzs7SUFERyx3QkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2lkY0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoV2VsbEtub3duRW5kcG9pbnRzIH0gZnJvbSAnLi4vbW9kZWxzL2F1dGgud2VsbC1rbm93bi1lbmRwb2ludHMnO1xuaW1wb3J0IHsgSUZyYW1lU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V4aXN0aW5nLWlmcmFtZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVxdWFsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMtZXF1YWxpdHktaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdGVWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMtc2VjdXJpdHktc3RhdGUtdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRva2VuSGVscGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMtdG9rZW4taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMubG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5jaGVjay1zZXNzaW9uJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNvbW1vbiB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY29tbW9uJztcbmltcG9ydCB7IE9pZGNDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eVNpbGVudFJlbmV3IH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zaWxlbnQtcmVuZXcnO1xuaW1wb3J0IHsgQnJvd3NlclN0b3JhZ2UsIE9pZGNTZWN1cml0eVN0b3JhZ2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LnN0b3JhZ2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5VXNlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LnVzZXItc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlWYWxpZGF0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS52YWxpZGF0aW9uJztcbmltcG9ydCB7IEF1dGhDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9hdXRoLmNvbmZpZ3VyYXRpb24nO1xuXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KHRva2VuOiBUb2tlbiA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQXV0aE1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIE9pZGNDb25maWdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIE9pZGNTZWN1cml0eVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5VmFsaWRhdGlvbixcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlDaGVja1Nlc3Npb24sXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5U2lsZW50UmVuZXcsXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5VXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5Q29tbW9uLFxuICAgICAgICAgICAgICAgIEF1dGhDb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgICAgIFRva2VuSGVscGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIElGcmFtZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgRXF1YWxpdHlIZWxwZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEF1dGhXZWxsS25vd25FbmRwb2ludHMsXG4gICAgICAgICAgICAgICAgT2lkY0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFN0YXRlVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBPaWRjU2VjdXJpdHlTdG9yYWdlLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogdG9rZW4uc3RvcmFnZSB8fCBCcm93c2VyU3RvcmFnZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZTxUPiBleHRlbmRzIEZ1bmN0aW9uIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gICAgc3RvcmFnZT86IFR5cGU8YW55Pjtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTlFO0lBQUE7SUEwQkEsQ0FBQzs7Ozs7SUF4QlUsa0JBQU87Ozs7SUFBZCxVQUFlLEtBQWlCO1FBQWpCLHNCQUFBLEVBQUEsVUFBaUI7UUFDNUIsT0FBTztZQUNILFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDUCxpQkFBaUI7Z0JBQ2pCLG1CQUFtQjtnQkFDbkIsc0JBQXNCO2dCQUN0Qix3QkFBd0I7Z0JBQ3hCLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2dCQUN2QixrQkFBa0I7Z0JBQ2xCLGtCQUFrQjtnQkFDbEIsYUFBYTtnQkFDYixhQUFhO2dCQUNiLHFCQUFxQjtnQkFDckIsZUFBZTtnQkFDZixzQkFBc0I7Z0JBQ3RCO29CQUNJLE9BQU8sRUFBRSxtQkFBbUI7b0JBQzVCLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLGNBQWM7aUJBQzVDO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs7Z0JBekJKLFFBQVE7O0lBMEJULGlCQUFDO0NBQUEsQUExQkQsSUEwQkM7U0F6QlksVUFBVTs7Ozs7QUEyQnZCLDBCQUVDOzs7O0FBRUQsMkJBRUM7OztJQURHLHdCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPaWRjRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLXNlcnZpY2VzL29pZGMtZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IElGcmFtZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9leGlzdGluZy1pZnJhbWUuc2VydmljZSc7XG5pbXBvcnQgeyBFcXVhbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLWVxdWFsaXR5LWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXRlVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLXNlY3VyaXR5LXN0YXRlLXZhbGlkYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2tlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLXRva2VuLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY2hlY2stc2Vzc2lvbic7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlDb21tb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LmNvbW1vbic7XG5pbXBvcnQgeyBPaWRjQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlTaWxlbnRSZW5ldyB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc2lsZW50LXJlbmV3JztcbmltcG9ydCB7IEJyb3dzZXJTdG9yYWdlLCBPaWRjU2VjdXJpdHlTdG9yYWdlIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS5zdG9yYWdlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eVVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5VmFsaWRhdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkudmFsaWRhdGlvbic7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgQXV0aE1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QodG9rZW46IFRva2VuID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBdXRoTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgT2lkY0NvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgT2lkY1NlY3VyaXR5U2VydmljZSxcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlWYWxpZGF0aW9uLFxuICAgICAgICAgICAgICAgIE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbixcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlTaWxlbnRSZW5ldyxcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgICAgICAgICAgVG9rZW5IZWxwZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgSUZyYW1lU2VydmljZSxcbiAgICAgICAgICAgICAgICBFcXVhbGl0eUhlbHBlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgT2lkY0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFN0YXRlVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBPaWRjU2VjdXJpdHlTdG9yYWdlLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogdG9rZW4uc3RvcmFnZSB8fCBCcm93c2VyU3RvcmFnZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZTxUPiBleHRlbmRzIEZ1bmN0aW9uIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gICAgc3RvcmFnZT86IFR5cGU8YW55Pjtcbn1cbiJdfQ== |
@@ -6,6 +6,5 @@ /** | ||
import { Injectable } from '@angular/core'; | ||
import { AuthWellKnownEndpoints } from '../models/auth.well-known-endpoints'; | ||
import { ValidateStateResult } from '../models/validate-state-result.model'; | ||
import { ValidationResult } from '../models/validation-result.enum'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { TokenHelperService } from './oidc-token-helper.service'; | ||
@@ -16,4 +15,3 @@ import { LoggerService } from './oidc.logger.service'; | ||
var StateValidationService = /** @class */ (function () { | ||
function StateValidationService(authConfiguration, oidcSecurityCommon, oidcSecurityValidation, tokenHelperService, loggerService) { | ||
this.authConfiguration = authConfiguration; | ||
function StateValidationService(oidcSecurityCommon, oidcSecurityValidation, tokenHelperService, loggerService, configurationProvider) { | ||
this.oidcSecurityCommon = oidcSecurityCommon; | ||
@@ -23,16 +21,5 @@ this.oidcSecurityValidation = oidcSecurityValidation; | ||
this.loggerService = loggerService; | ||
this.authWellKnownEndpoints = new AuthWellKnownEndpoints(); | ||
this.configurationProvider = configurationProvider; | ||
} | ||
/** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
StateValidationService.prototype.setupModule = /** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
function (authWellKnownEndpoints) { | ||
this.authWellKnownEndpoints = Object.assign({}, authWellKnownEndpoints); | ||
}; | ||
/** | ||
* @param {?} result | ||
@@ -56,3 +43,4 @@ * @param {?} jwtKeys | ||
} | ||
if (this.authConfiguration.response_type === 'id_token token' || this.authConfiguration.response_type === 'code') { | ||
if (this.configurationProvider.openIDConfiguration.response_type === 'id_token token' || | ||
this.configurationProvider.openIDConfiguration.response_type === 'code') { | ||
toReturn.access_token = result.access_token; | ||
@@ -80,3 +68,3 @@ } | ||
} | ||
if (!this.oidcSecurityValidation.validate_id_token_iat_max_offset(toReturn.decoded_id_token, this.authConfiguration.max_id_token_iat_offset_allowed_in_seconds, this.authConfiguration.disable_iat_offset_validation)) { | ||
if (!this.oidcSecurityValidation.validate_id_token_iat_max_offset(toReturn.decoded_id_token, this.configurationProvider.openIDConfiguration.max_id_token_iat_offset_allowed_in_seconds, this.configurationProvider.openIDConfiguration.disable_iat_offset_validation)) { | ||
this.loggerService.logWarning('authorizedCallback Validation, iat rejected id_token was issued too far away from the current time'); | ||
@@ -87,8 +75,8 @@ toReturn.state = ValidationResult.MaxOffsetExpired; | ||
} | ||
if (this.authWellKnownEndpoints) { | ||
if (this.authConfiguration.iss_validation_off) { | ||
if (this.configurationProvider.wellKnownEndpoints) { | ||
if (this.configurationProvider.openIDConfiguration.iss_validation_off) { | ||
this.loggerService.logDebug('iss validation is turned off, this is not recommended!'); | ||
} | ||
else if (!this.authConfiguration.iss_validation_off && | ||
!this.oidcSecurityValidation.validate_id_token_iss(toReturn.decoded_id_token, this.authWellKnownEndpoints.issuer)) { | ||
else if (!this.configurationProvider.openIDConfiguration.iss_validation_off && | ||
!this.oidcSecurityValidation.validate_id_token_iss(toReturn.decoded_id_token, this.configurationProvider.wellKnownEndpoints.issuer)) { | ||
this.loggerService.logWarning('authorizedCallback incorrect iss does not match authWellKnownEndpoints issuer'); | ||
@@ -106,3 +94,3 @@ toReturn.state = ValidationResult.IssDoesNotMatchIssuer; | ||
} | ||
if (!this.oidcSecurityValidation.validate_id_token_aud(toReturn.decoded_id_token, this.authConfiguration.client_id)) { | ||
if (!this.oidcSecurityValidation.validate_id_token_aud(toReturn.decoded_id_token, this.configurationProvider.openIDConfiguration.client_id)) { | ||
this.loggerService.logWarning('authorizedCallback incorrect aud'); | ||
@@ -120,3 +108,4 @@ toReturn.state = ValidationResult.IncorrectAud; | ||
// flow id_token token | ||
if (this.authConfiguration.response_type !== 'id_token token' && this.authConfiguration.response_type !== 'code') { | ||
if (this.configurationProvider.openIDConfiguration.response_type !== 'id_token token' && | ||
this.configurationProvider.openIDConfiguration.response_type !== 'code') { | ||
toReturn.authResponseIsValid = true; | ||
@@ -128,3 +117,3 @@ toReturn.state = ValidationResult.Ok; | ||
} | ||
if (!this.oidcSecurityValidation.validate_id_token_at_hash(toReturn.access_token, toReturn.decoded_id_token.at_hash, this.authConfiguration.response_type === 'code') || | ||
if (!this.oidcSecurityValidation.validate_id_token_at_hash(toReturn.access_token, toReturn.decoded_id_token.at_hash, this.configurationProvider.openIDConfiguration.response_type === 'code') || | ||
!toReturn.access_token) { | ||
@@ -151,3 +140,3 @@ this.loggerService.logWarning('authorizedCallback incorrect at_hash'); | ||
this.oidcSecurityCommon.authNonce = ''; | ||
if (this.authConfiguration.auto_clean_state_after_authentication) { | ||
if (this.configurationProvider.openIDConfiguration.auto_clean_state_after_authentication) { | ||
this.oidcSecurityCommon.authStateControl = ''; | ||
@@ -167,3 +156,3 @@ } | ||
this.oidcSecurityCommon.authNonce = ''; | ||
if (this.authConfiguration.auto_clean_state_after_authentication) { | ||
if (this.configurationProvider.openIDConfiguration.auto_clean_state_after_authentication) { | ||
this.oidcSecurityCommon.authStateControl = ''; | ||
@@ -178,7 +167,7 @@ } | ||
StateValidationService.ctorParameters = function () { return [ | ||
{ type: AuthConfiguration }, | ||
{ type: OidcSecurityCommon }, | ||
{ type: OidcSecurityValidation }, | ||
{ type: TokenHelperService }, | ||
{ type: LoggerService } | ||
{ type: LoggerService }, | ||
{ type: ConfigurationProvider } | ||
]; }; | ||
@@ -189,12 +178,2 @@ return StateValidationService; | ||
if (false) { | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
StateValidationService.prototype.authWellKnownEndpoints; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
StateValidationService.prototype.authConfiguration; | ||
/** @type {?} */ | ||
@@ -217,3 +196,8 @@ StateValidationService.prototype.oidcSecurityCommon; | ||
StateValidationService.prototype.loggerService; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
StateValidationService.prototype.configurationProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBFO0lBR0ksZ0NBQ1ksaUJBQW9DLEVBQ3JDLGtCQUFzQyxFQUNyQyxzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGFBQTRCO1FBSjVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFOaEMsMkJBQXNCLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0lBTzNELENBQUM7Ozs7O0lBRUosNENBQVc7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LENBQUM7UUFDcEMsUUFBUSxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFFTywyREFBMEI7Ozs7SUFBbEM7UUFDSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQ0FBcUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNuRixDQUFDOzs7OztJQUVPLDZEQUE0Qjs7OztJQUFwQztRQUNJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXZDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFDQUFxQyxFQUFFO1lBQzlELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O2dCQTNJSixVQUFVOzs7O2dCQU5GLGlCQUFpQjtnQkFHakIsa0JBQWtCO2dCQUNsQixzQkFBc0I7Z0JBSHRCLGtCQUFrQjtnQkFDbEIsYUFBYTs7SUFnSnRCLDZCQUFDO0NBQUEsQUE1SUQsSUE0SUM7U0EzSVksc0JBQXNCOzs7Ozs7SUFDL0Isd0RBQThEOzs7OztJQUUxRCxtREFBNEM7O0lBQzVDLG9EQUE2Qzs7Ozs7SUFDN0Msd0RBQXNEOzs7OztJQUN0RCxvREFBOEM7Ozs7O0lBQzlDLCtDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhXZWxsS25vd25FbmRwb2ludHMgfSBmcm9tICcuLi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cyc7XG5pbXBvcnQgeyBKd3RLZXlzIH0gZnJvbSAnLi4vbW9kZWxzL2p3dGtleXMnO1xuaW1wb3J0IHsgVmFsaWRhdGVTdGF0ZVJlc3VsdCB9IGZyb20gJy4uL21vZGVscy92YWxpZGF0ZS1zdGF0ZS1yZXN1bHQubW9kZWwnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4uL21vZGVscy92YWxpZGF0aW9uLXJlc3VsdC5lbnVtJztcbmltcG9ydCB7IEF1dGhDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoLmNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgVG9rZW5IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi9vaWRjLXRva2VuLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL29pZGMubG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5Q29tbW9uIH0gZnJvbSAnLi9vaWRjLnNlY3VyaXR5LmNvbW1vbic7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlWYWxpZGF0aW9uIH0gZnJvbSAnLi9vaWRjLnNlY3VyaXR5LnZhbGlkYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RhdGVWYWxpZGF0aW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSBhdXRoV2VsbEtub3duRW5kcG9pbnRzID0gbmV3IEF1dGhXZWxsS25vd25FbmRwb2ludHMoKTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhdXRoQ29uZmlndXJhdGlvbjogQXV0aENvbmZpZ3VyYXRpb24sXG4gICAgICAgIHB1YmxpYyBvaWRjU2VjdXJpdHlDb21tb246IE9pZGNTZWN1cml0eUNvbW1vbixcbiAgICAgICAgcHJpdmF0ZSBvaWRjU2VjdXJpdHlWYWxpZGF0aW9uOiBPaWRjU2VjdXJpdHlWYWxpZGF0aW9uLFxuICAgICAgICBwcml2YXRlIHRva2VuSGVscGVyU2VydmljZTogVG9rZW5IZWxwZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBzZXR1cE1vZHVsZShhdXRoV2VsbEtub3duRW5kcG9pbnRzOiBBdXRoV2VsbEtub3duRW5kcG9pbnRzKSB7XG4gICAgICAgIHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cyA9IE9iamVjdC5hc3NpZ24oe30sIGF1dGhXZWxsS25vd25FbmRwb2ludHMpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlU3RhdGUocmVzdWx0OiBhbnksIGp3dEtleXM6IEp3dEtleXMpOiBWYWxpZGF0ZVN0YXRlUmVzdWx0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm4gPSBuZXcgVmFsaWRhdGVTdGF0ZVJlc3VsdCgpO1xuICAgICAgICBpZiAoIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZVN0YXRlRnJvbUhhc2hDYWxsYmFjayhyZXN1bHQuc3RhdGUsIHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLmF1dGhTdGF0ZUNvbnRyb2wpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIGluY29ycmVjdCBzdGF0ZScpO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0LlN0YXRlc0RvTm90TWF0Y2g7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmF1dGhDb25maWd1cmF0aW9uLnJlc3BvbnNlX3R5cGUgPT09ICdpZF90b2tlbiB0b2tlbicgfHwgdGhpcy5hdXRoQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlID09PSAnY29kZScpIHtcbiAgICAgICAgICAgIHRvUmV0dXJuLmFjY2Vzc190b2tlbiA9IHJlc3VsdC5hY2Nlc3NfdG9rZW47XG4gICAgICAgIH1cblxuICAgICAgICB0b1JldHVybi5pZF90b2tlbiA9IHJlc3VsdC5pZF90b2tlbjtcblxuICAgICAgICB0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuID0gdGhpcy50b2tlbkhlbHBlclNlcnZpY2UuZ2V0UGF5bG9hZEZyb21Ub2tlbih0b1JldHVybi5pZF90b2tlbiwgZmFsc2UpO1xuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX3NpZ25hdHVyZV9pZF90b2tlbih0b1JldHVybi5pZF90b2tlbiwgand0S2V5cykpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnYXV0aG9yaXplZENhbGxiYWNrIFNpZ25hdHVyZSB2YWxpZGF0aW9uIGZhaWxlZCBpZF90b2tlbicpO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0LlNpZ25hdHVyZUZhaWxlZDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfaWRfdG9rZW5fbm9uY2UodG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbiwgdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uYXV0aE5vbmNlKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayBpbmNvcnJlY3Qgbm9uY2UnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5JbmNvcnJlY3ROb25jZTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfcmVxdWlyZWRfaWRfdG9rZW4odG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbikpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnYXV0aG9yaXplZENhbGxiYWNrIFZhbGlkYXRpb24sIG9uZSBvZiB0aGUgUkVRVUlSRUQgcHJvcGVydGllcyBtaXNzaW5nIGZyb20gaWRfdG9rZW4nKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5SZXF1aXJlZFByb3BlcnR5TWlzc2luZztcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9pYXRfbWF4X29mZnNldChcbiAgICAgICAgICAgICAgICB0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuLFxuICAgICAgICAgICAgICAgIHRoaXMuYXV0aENvbmZpZ3VyYXRpb24ubWF4X2lkX3Rva2VuX2lhdF9vZmZzZXRfYWxsb3dlZF9pbl9zZWNvbmRzLFxuICAgICAgICAgICAgICAgIHRoaXMuYXV0aENvbmZpZ3VyYXRpb24uZGlzYWJsZV9pYXRfb2Zmc2V0X3ZhbGlkYXRpb25cbiAgICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIFZhbGlkYXRpb24sIGlhdCByZWplY3RlZCBpZF90b2tlbiB3YXMgaXNzdWVkIHRvbyBmYXIgYXdheSBmcm9tIHRoZSBjdXJyZW50IHRpbWUnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5NYXhPZmZzZXRFeHBpcmVkO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdXRoV2VsbEtub3duRW5kcG9pbnRzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5pc3NfdmFsaWRhdGlvbl9vZmYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoJ2lzcyB2YWxpZGF0aW9uIGlzIHR1cm5lZCBvZmYsIHRoaXMgaXMgbm90IHJlY29tbWVuZGVkIScpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5hdXRoQ29uZmlndXJhdGlvbi5pc3NfdmFsaWRhdGlvbl9vZmYgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX2lkX3Rva2VuX2lzcyh0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuLCB0aGlzLmF1dGhXZWxsS25vd25FbmRwb2ludHMuaXNzdWVyKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgaW5jb3JyZWN0IGlzcyBkb2VzIG5vdCBtYXRjaCBhdXRoV2VsbEtub3duRW5kcG9pbnRzIGlzc3VlcicpO1xuICAgICAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5Jc3NEb2VzTm90TWF0Y2hJc3N1ZXI7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuTm9BdXRoV2VsbEtub3duRW5kUG9pbnRzO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9hdWQodG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbiwgdGhpcy5hdXRoQ29uZmlndXJhdGlvbi5jbGllbnRfaWQpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIGluY29ycmVjdCBhdWQnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5JbmNvcnJlY3RBdWQ7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX2lkX3Rva2VuX2V4cF9ub3RfZXhwaXJlZCh0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayB0b2tlbiBleHBpcmVkJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuVG9rZW5FeHBpcmVkO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmbG93IGlkX3Rva2VuIHRva2VuXG4gICAgICAgIGlmICh0aGlzLmF1dGhDb25maWd1cmF0aW9uLnJlc3BvbnNlX3R5cGUgIT09ICdpZF90b2tlbiB0b2tlbicgJiYgdGhpcy5hdXRoQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlICE9PSAnY29kZScpIHtcbiAgICAgICAgICAgIHRvUmV0dXJuLmF1dGhSZXNwb25zZUlzVmFsaWQgPSB0cnVlO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0Lk9rO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9hdF9oYXNoKHRvUmV0dXJuLmFjY2Vzc190b2tlbixcbiAgICAgICAgICAgIHRvUmV0dXJuLmRlY29kZWRfaWRfdG9rZW4uYXRfaGFzaCxcbiAgICAgICAgICAgIHRoaXMuYXV0aENvbmZpZ3VyYXRpb24ucmVzcG9uc2VfdHlwZSA9PT0gJ2NvZGUnKSB8fFxuICAgICAgICAgICAgIXRvUmV0dXJuLmFjY2Vzc190b2tlblxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgaW5jb3JyZWN0IGF0X2hhc2gnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5JbmNvcnJlY3RBdEhhc2g7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvUmV0dXJuLmF1dGhSZXNwb25zZUlzVmFsaWQgPSB0cnVlO1xuICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuT2s7XG4gICAgICAgIHRoaXMuaGFuZGxlU3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU3VjY2Vzc2Z1bFZhbGlkYXRpb24oKSB7XG4gICAgICAgIHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLmF1dGhOb25jZSA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmF1dGhDb25maWd1cmF0aW9uLmF1dG9fY2xlYW5fc3RhdGVfYWZ0ZXJfYXV0aGVudGljYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLmF1dGhTdGF0ZUNvbnRyb2wgPSAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoJ0F1dGhvcml6ZWRDYWxsYmFjayB0b2tlbihzKSB2YWxpZGF0ZWQsIGNvbnRpbnVlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCkge1xuICAgICAgICB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoTm9uY2UgPSAnJztcblxuICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5hdXRvX2NsZWFuX3N0YXRlX2FmdGVyX2F1dGhlbnRpY2F0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoU3RhdGVDb250cm9sID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKCdBdXRob3JpemVkQ2FsbGJhY2sgdG9rZW4ocykgaW52YWxpZCcpO1xuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy1zZWN1cml0eS1zdGF0ZS12YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBFO0lBRUksZ0NBQ1csa0JBQXNDLEVBQ3JDLHNCQUE4QyxFQUM5QyxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDbkIscUJBQTRDO1FBSnRELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ25CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFDOUQsQ0FBQzs7Ozs7O0lBRUosOENBQWE7Ozs7O0lBQWIsVUFBYyxNQUFXLEVBQUUsT0FBZ0I7O1lBQ2pDLFFBQVEsR0FBRyxJQUFJLG1CQUFtQixFQUFFO1FBQzFDLElBQUksQ0FBQyxJQUFJ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LElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBRU8sMkRBQTBCOzs7O0lBQWxDO1FBQ0ksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFdkMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMscUNBQXFDLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUNqRDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGlEQUFpRCxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7Ozs7SUFFTyw2REFBNEI7Ozs7SUFBcEM7UUFDSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxxQ0FBcUMsRUFBRTtZQUN0RixJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN2RSxDQUFDOztnQkFqSkosVUFBVTs7OztnQkFIRixrQkFBa0I7Z0JBQ2xCLHNCQUFzQjtnQkFIdEIsa0JBQWtCO2dCQUNsQixhQUFhO2dCQUZiLHFCQUFxQjs7SUF3SjlCLDZCQUFDO0NBQUEsQUFsSkQsSUFrSkM7U0FqSlksc0JBQXNCOzs7SUFFM0Isb0RBQTZDOzs7OztJQUM3Qyx3REFBc0Q7Ozs7O0lBQ3RELG9EQUE4Qzs7Ozs7SUFDOUMsK0NBQW9DOzs7OztJQUNwQyx1REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBKd3RLZXlzIH0gZnJvbSAnLi4vbW9kZWxzL2p3dGtleXMnO1xuaW1wb3J0IHsgVmFsaWRhdGVTdGF0ZVJlc3VsdCB9IGZyb20gJy4uL21vZGVscy92YWxpZGF0ZS1zdGF0ZS1yZXN1bHQubW9kZWwnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4uL21vZGVscy92YWxpZGF0aW9uLXJlc3VsdC5lbnVtJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Qcm92aWRlciB9IGZyb20gJy4vYXV0aC1jb25maWd1cmF0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IFRva2VuSGVscGVyU2VydmljZSB9IGZyb20gJy4vb2lkYy10b2tlbi1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNvbW1vbiB9IGZyb20gJy4vb2lkYy5zZWN1cml0eS5jb21tb24nO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5VmFsaWRhdGlvbiB9IGZyb20gJy4vb2lkYy5zZWN1cml0eS52YWxpZGF0aW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0YXRlVmFsaWRhdGlvblNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgb2lkY1NlY3VyaXR5Q29tbW9uOiBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgIHByaXZhdGUgb2lkY1NlY3VyaXR5VmFsaWRhdGlvbjogT2lkY1NlY3VyaXR5VmFsaWRhdGlvbixcbiAgICAgICAgcHJpdmF0ZSB0b2tlbkhlbHBlclNlcnZpY2U6IFRva2VuSGVscGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25Qcm92aWRlcjogQ29uZmlndXJhdGlvblByb3ZpZGVyXG4gICAgKSB7fVxuXG4gICAgdmFsaWRhdGVTdGF0ZShyZXN1bHQ6IGFueSwgand0S2V5czogSnd0S2V5cyk6IFZhbGlkYXRlU3RhdGVSZXN1bHQge1xuICAgICAgICBjb25zdCB0b1JldHVybiA9IG5ldyBWYWxpZGF0ZVN0YXRlUmVzdWx0KCk7XG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlU3RhdGVGcm9tSGFzaENhbGxiYWNrKHJlc3VsdC5zdGF0ZSwgdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uYXV0aFN0YXRlQ29udHJvbCkpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgaW5jb3JyZWN0IHN0YXRlJyk7XG4gICAgICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuU3RhdGVzRG9Ob3RNYXRjaDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlID09PSAnaWRfdG9rZW4gdG9rZW4nIHx8XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLnJlc3BvbnNlX3R5cGUgPT09ICdjb2RlJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRvUmV0dXJuLmFjY2Vzc190b2tlbiA9IHJlc3VsdC5hY2Nlc3NfdG9rZW47XG4gICAgICAgIH1cblxuICAgICAgICB0b1JldHVybi5pZF90b2tlbiA9IHJlc3VsdC5pZF90b2tlbjtcblxuICAgICAgICB0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuID0gdGhpcy50b2tlbkhlbHBlclNlcnZpY2UuZ2V0UGF5bG9hZEZyb21Ub2tlbih0b1JldHVybi5pZF90b2tlbiwgZmFsc2UpO1xuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX3NpZ25hdHVyZV9pZF90b2tlbih0b1JldHVybi5pZF90b2tlbiwgand0S2V5cykpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnYXV0aG9yaXplZENhbGxiYWNrIFNpZ25hdHVyZSB2YWxpZGF0aW9uIGZhaWxlZCBpZF90b2tlbicpO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0LlNpZ25hdHVyZUZhaWxlZDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfaWRfdG9rZW5fbm9uY2UodG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbiwgdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uYXV0aE5vbmNlKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayBpbmNvcnJlY3Qgbm9uY2UnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5JbmNvcnJlY3ROb25jZTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfcmVxdWlyZWRfaWRfdG9rZW4odG9SZXR1cm4uZGVjb2RlZF9pZF90b2tlbikpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnYXV0aG9yaXplZENhbGxiYWNrIFZhbGlkYXRpb24sIG9uZSBvZiB0aGUgUkVRVUlSRUQgcHJvcGVydGllcyBtaXNzaW5nIGZyb20gaWRfdG9rZW4nKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5SZXF1aXJlZFByb3BlcnR5TWlzc2luZztcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMub2lkY1NlY3VyaXR5VmFsaWRhdGlvbi52YWxpZGF0ZV9pZF90b2tlbl9pYXRfbWF4X29mZnNldChcbiAgICAgICAgICAgICAgICB0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24ubWF4X2lkX3Rva2VuX2lhdF9vZmZzZXRfYWxsb3dlZF9pbl9zZWNvbmRzLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uZGlzYWJsZV9pYXRfb2Zmc2V0X3ZhbGlkYXRpb25cbiAgICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIFZhbGlkYXRpb24sIGlhdCByZWplY3RlZCBpZF90b2tlbiB3YXMgaXNzdWVkIHRvbyBmYXIgYXdheSBmcm9tIHRoZSBjdXJyZW50IHRpbWUnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5NYXhPZmZzZXRFeHBpcmVkO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIud2VsbEtub3duRW5kcG9pbnRzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5pc3NfdmFsaWRhdGlvbl9vZmYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoJ2lzcyB2YWxpZGF0aW9uIGlzIHR1cm5lZCBvZmYsIHRoaXMgaXMgbm90IHJlY29tbWVuZGVkIScpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5pc3NfdmFsaWRhdGlvbl9vZmYgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX2lkX3Rva2VuX2lzcyh0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuLCB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMuaXNzdWVyKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2F1dGhvcml6ZWRDYWxsYmFjayBpbmNvcnJlY3QgaXNzIGRvZXMgbm90IG1hdGNoIGF1dGhXZWxsS25vd25FbmRwb2ludHMgaXNzdWVyJyk7XG4gICAgICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0Lklzc0RvZXNOb3RNYXRjaElzc3VlcjtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5Ob0F1dGhXZWxsS25vd25FbmRQb2ludHM7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX2lkX3Rva2VuX2F1ZCh0b1JldHVybi5kZWNvZGVkX2lkX3Rva2VuLCB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLmNsaWVudF9pZCkpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgaW5jb3JyZWN0IGF1ZCcpO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0LkluY29ycmVjdEF1ZDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVW5zdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm9pZGNTZWN1cml0eVZhbGlkYXRpb24udmFsaWRhdGVfaWRfdG9rZW5fZXhwX25vdF9leHBpcmVkKHRvUmV0dXJuLmRlY29kZWRfaWRfdG9rZW4pKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnYXV0aG9yaXplZENhbGxiYWNrIHRva2VuIGV4cGlyZWQnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5Ub2tlbkV4cGlyZWQ7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZsb3cgaWRfdG9rZW4gdG9rZW5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5yZXNwb25zZV90eXBlICE9PSAnaWRfdG9rZW4gdG9rZW4nICYmXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLnJlc3BvbnNlX3R5cGUgIT09ICdjb2RlJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRvUmV0dXJuLmF1dGhSZXNwb25zZUlzVmFsaWQgPSB0cnVlO1xuICAgICAgICAgICAgdG9SZXR1cm4uc3RhdGUgPSBWYWxpZGF0aW9uUmVzdWx0Lk9rO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdWNjZXNzZnVsVmFsaWRhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5vaWRjU2VjdXJpdHlWYWxpZGF0aW9uLnZhbGlkYXRlX2lkX3Rva2VuX2F0X2hhc2goXG4gICAgICAgICAgICAgICAgdG9SZXR1cm4uYWNjZXNzX3Rva2VuLFxuICAgICAgICAgICAgICAgIHRvUmV0dXJuLmRlY29kZWRfaWRfdG9rZW4uYXRfaGFzaCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLnJlc3BvbnNlX3R5cGUgPT09ICdjb2RlJ1xuICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgIXRvUmV0dXJuLmFjY2Vzc190b2tlblxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdhdXRob3JpemVkQ2FsbGJhY2sgaW5jb3JyZWN0IGF0X2hhc2gnKTtcbiAgICAgICAgICAgIHRvUmV0dXJuLnN0YXRlID0gVmFsaWRhdGlvblJlc3VsdC5JbmNvcnJlY3RBdEhhc2g7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVuc3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvUmV0dXJuLmF1dGhSZXNwb25zZUlzVmFsaWQgPSB0cnVlO1xuICAgICAgICB0b1JldHVybi5zdGF0ZSA9IFZhbGlkYXRpb25SZXN1bHQuT2s7XG4gICAgICAgIHRoaXMuaGFuZGxlU3VjY2Vzc2Z1bFZhbGlkYXRpb24oKTtcbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU3VjY2Vzc2Z1bFZhbGlkYXRpb24oKSB7XG4gICAgICAgIHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLmF1dGhOb25jZSA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLmF1dG9fY2xlYW5fc3RhdGVfYWZ0ZXJfYXV0aGVudGljYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLmF1dGhTdGF0ZUNvbnRyb2wgPSAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoJ0F1dGhvcml6ZWRDYWxsYmFjayB0b2tlbihzKSB2YWxpZGF0ZWQsIGNvbnRpbnVlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVVbnN1Y2Nlc3NmdWxWYWxpZGF0aW9uKCkge1xuICAgICAgICB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoTm9uY2UgPSAnJztcblxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5hdXRvX2NsZWFuX3N0YXRlX2FmdGVyX2F1dGhlbnRpY2F0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5hdXRoU3RhdGVDb250cm9sID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKCdBdXRob3JpemVkQ2FsbGJhY2sgdG9rZW4ocykgaW52YWxpZCcpO1xuICAgIH1cbn1cbiJdfQ== |
@@ -6,6 +6,6 @@ /** | ||
import { Injectable } from '@angular/core'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
var LoggerService = /** @class */ (function () { | ||
function LoggerService(authConfiguration) { | ||
this.authConfiguration = authConfiguration; | ||
function LoggerService(configurationProvider) { | ||
this.configurationProvider = configurationProvider; | ||
} | ||
@@ -32,3 +32,3 @@ /** | ||
function (message) { | ||
if (this.authConfiguration.isLogLevelWarningEnabled) { | ||
if (this.configurationProvider.openIDConfiguration.log_console_warning_active) { | ||
console.warn(message); | ||
@@ -46,3 +46,3 @@ } | ||
function (message) { | ||
if (this.authConfiguration.isLogLevelDebugEnabled) { | ||
if (this.configurationProvider.openIDConfiguration.log_console_debug_active) { | ||
console.log(message); | ||
@@ -56,3 +56,3 @@ } | ||
LoggerService.ctorParameters = function () { return [ | ||
{ type: AuthConfiguration } | ||
{ type: ConfigurationProvider } | ||
]; }; | ||
@@ -67,4 +67,4 @@ return LoggerService; | ||
*/ | ||
LoggerService.prototype.authConfiguration; | ||
LoggerService.prototype.configurationProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5sb2dnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vaWRjLmxvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWxFO0lBRUksdUJBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUcsQ0FBQzs7Ozs7SUFFNUQsZ0NBQVE7Ozs7SUFBUixVQUFTLE9BQVk7UUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7OztJQUVELGtDQUFVOzs7O0lBQVYsVUFBVyxPQUFZO1FBQ25CLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixFQUFFO1lBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDOzs7OztJQUVELGdDQUFROzs7O0lBQVIsVUFBUyxPQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDOztnQkFsQkosVUFBVTs7OztnQkFGRixpQkFBaUI7O0lBcUIxQixvQkFBQztDQUFBLEFBbkJELElBbUJDO1NBbEJZLGFBQWE7Ozs7OztJQUNWLDBDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoLmNvbmZpZ3VyYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9nZ2VyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoQ29uZmlndXJhdGlvbjogQXV0aENvbmZpZ3VyYXRpb24pIHt9XG5cbiAgICBsb2dFcnJvcihtZXNzYWdlOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBsb2dXYXJuaW5nKG1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5pc0xvZ0xldmVsV2FybmluZ0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvZ0RlYnVnKG1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5hdXRoQ29uZmlndXJhdGlvbi5pc0xvZ0xldmVsRGVidWdFbmFibGVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5sb2dnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vaWRjLmxvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXRFO0lBRUksdUJBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQUcsQ0FBQzs7Ozs7SUFFcEUsZ0NBQVE7Ozs7SUFBUixVQUFTLE9BQVk7UUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7OztJQUVELGtDQUFVOzs7O0lBQVYsVUFBVyxPQUFZO1FBQ25CLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLDBCQUEwQixFQUFFO1lBQzNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDOzs7OztJQUVELGdDQUFROzs7O0lBQVIsVUFBUyxPQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixFQUFFO1lBQ3pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDOztnQkFsQkosVUFBVTs7OztnQkFGRixxQkFBcUI7O0lBcUI5QixvQkFBQztDQUFBLEFBbkJELElBbUJDO1NBbEJZLGFBQWE7Ozs7OztJQUNWLDhDQUFvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Qcm92aWRlciB9IGZyb20gJy4vYXV0aC1jb25maWd1cmF0aW9uLnByb3ZpZGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ2dlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlndXJhdGlvblByb3ZpZGVyOiBDb25maWd1cmF0aW9uUHJvdmlkZXIpIHt9XG5cbiAgICBsb2dFcnJvcihtZXNzYWdlOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBsb2dXYXJuaW5nKG1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5sb2dfY29uc29sZV93YXJuaW5nX2FjdGl2ZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9nRGVidWcobWVzc2FnZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLmxvZ19jb25zb2xlX2RlYnVnX2FjdGl2ZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= |
@@ -8,3 +8,3 @@ /** | ||
import { take } from 'rxjs/operators'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { IFrameService } from './existing-iframe.service'; | ||
@@ -17,4 +17,3 @@ import { LoggerService } from './oidc.logger.service'; | ||
var OidcSecurityCheckSession = /** @class */ (function () { | ||
function OidcSecurityCheckSession(authConfiguration, oidcSecurityCommon, loggerService, iFrameService, zone) { | ||
this.authConfiguration = authConfiguration; | ||
function OidcSecurityCheckSession(oidcSecurityCommon, loggerService, iFrameService, zone, configurationProvider) { | ||
this.oidcSecurityCommon = oidcSecurityCommon; | ||
@@ -24,2 +23,3 @@ this.loggerService = loggerService; | ||
this.zone = zone; | ||
this.configurationProvider = configurationProvider; | ||
this.lastIFrameRefresh = 0; | ||
@@ -42,13 +42,2 @@ this.outstandingMessages = 0; | ||
/** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.setupModule = /** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
function (authWellKnownEndpoints) { | ||
this.authWellKnownEndpoints = Object.assign({}, authWellKnownEndpoints); | ||
}; | ||
/** | ||
* @private | ||
@@ -88,5 +77,9 @@ * @return {?} | ||
} | ||
if (this.authWellKnownEndpoints) { | ||
this.sessionIframe.contentWindow.location.replace(this.authWellKnownEndpoints.check_session_iframe); | ||
if (!this.configurationProvider.wellKnownEndpoints) { | ||
this.loggerService.logWarning('init check session: authWellKnownEndpoints is undefined. Returning.'); | ||
return; | ||
} | ||
if (this.configurationProvider.wellKnownEndpoints.check_session_iframe) { | ||
this.sessionIframe.contentWindow.location.replace(this.configurationProvider.wellKnownEndpoints.check_session_iframe); | ||
} | ||
else { | ||
@@ -165,3 +158,3 @@ this.loggerService.logWarning('init check session: authWellKnownEndpoints is undefined'); | ||
_this.outstandingMessages++; | ||
_this.sessionIframe.contentWindow.postMessage(clientId + ' ' + session_state, _this.authConfiguration.stsServer); | ||
_this.sessionIframe.contentWindow.postMessage(clientId + ' ' + session_state, _this.configurationProvider.openIDConfiguration.stsServer); | ||
} | ||
@@ -219,3 +212,5 @@ else { | ||
this.outstandingMessages = 0; | ||
if (this.sessionIframe && e.origin === this.authConfiguration.stsServer && e.source === this.sessionIframe.contentWindow) { | ||
if (this.sessionIframe && | ||
e.origin === this.configurationProvider.openIDConfiguration.stsServer && | ||
e.source === this.sessionIframe.contentWindow) { | ||
if (e.data === 'error') { | ||
@@ -237,7 +232,7 @@ this.loggerService.logWarning('error from checksession messageHandler'); | ||
OidcSecurityCheckSession.ctorParameters = function () { return [ | ||
{ type: AuthConfiguration }, | ||
{ type: OidcSecurityCommon }, | ||
{ type: LoggerService }, | ||
{ type: IFrameService }, | ||
{ type: NgZone } | ||
{ type: NgZone }, | ||
{ type: ConfigurationProvider } | ||
]; }; | ||
@@ -262,7 +257,2 @@ return OidcSecurityCheckSession; | ||
*/ | ||
OidcSecurityCheckSession.prototype.authWellKnownEndpoints; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
OidcSecurityCheckSession.prototype.scheduledHeartBeat; | ||
@@ -298,3 +288,3 @@ /** | ||
*/ | ||
OidcSecurityCheckSession.prototype.authConfiguration; | ||
OidcSecurityCheckSession.prototype.oidcSecurityCommon; | ||
/** | ||
@@ -304,3 +294,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.oidcSecurityCommon; | ||
OidcSecurityCheckSession.prototype.loggerService; | ||
/** | ||
@@ -310,3 +300,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.loggerService; | ||
OidcSecurityCheckSession.prototype.iFrameService; | ||
/** | ||
@@ -316,3 +306,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.iFrameService; | ||
OidcSecurityCheckSession.prototype.zone; | ||
/** | ||
@@ -322,4 +312,4 @@ * @type {?} | ||
*/ | ||
OidcSecurityCheckSession.prototype.zone; | ||
OidcSecurityCheckSession.prototype.configurationProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5jaGVjay1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY2hlY2stc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQVksT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztJQUV0RCxtQ0FBbUMsR0FBRyx5QkFBeUI7O0FBSXJFO0lBZ0JJLGtDQUNZLGlCQUFvQyxFQUNwQyxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIsSUFBWTtRQUpaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUFRO1FBZmhCLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUN0Qix3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QiwyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFB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Ozs7O0lBQ2pDLGlEQUEyQjs7Ozs7SUFDM0Isc0RBQWdDOzs7OztJQUNoQywwREFBbUU7Ozs7O0lBQ25FLHNEQUFnQzs7Ozs7SUFDaEMscURBQThCOzs7OztJQUM5Qix1REFBZ0M7Ozs7O0lBQ2hDLHFEQUFpQzs7Ozs7SUFDakMseURBQXNDOzs7OztJQUN0QywwREFBb0Q7Ozs7O0lBT2hELHFEQUE0Qzs7Ozs7SUFDNUMsc0RBQThDOzs7OztJQUM5QyxpREFBb0M7Ozs7O0lBQ3BDLGlEQUFvQzs7Ozs7SUFDcEMsd0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBPYnNlcnZlciwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhXZWxsS25vd25FbmRwb2ludHMgfSBmcm9tICcuLi9tb2RlbHMvYXV0aC53ZWxsLWtub3duLWVuZHBvaW50cyc7XG5pbXBvcnQgeyBBdXRoQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC5jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IElGcmFtZVNlcnZpY2UgfSBmcm9tICcuL2V4aXN0aW5nLWlmcmFtZS5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL29pZGMubG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5Q29tbW9uIH0gZnJvbSAnLi9vaWRjLnNlY3VyaXR5LmNvbW1vbic7XG5cbmNvbnN0IElGUkFNRV9GT1JfQ0hFQ0tfU0VTU0lPTl9JREVOVElGSUVSID0gJ215aUZyYW1lRm9yQ2hlY2tTZXNzaW9uJztcblxuLy8gaHR0cDovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3Qtc2Vzc2lvbi0xXzAtSUQ0Lmh0bWxcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiB7XG4gICAgcHJpdmF0ZSBzZXNzaW9uSWZyYW1lOiBhbnk7XG4gICAgcHJpdmF0ZSBpZnJhbWVNZXNzYWdlRXZlbnQ6IGFueTtcbiAgICBwcml2YXRlIGF1dGhXZWxsS25vd25FbmRwb2ludHM6IEF1dGhXZWxsS25vd25FbmRwb2ludHMgfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSBzY2hlZHVsZWRIZWFydEJlYXQ6IGFueTtcbiAgICBwcml2YXRlIGxhc3RJRnJhbWVSZWZyZXNoID0gMDtcbiAgICBwcml2YXRlIG91dHN0YW5kaW5nTWVzc2FnZXMgPSAwO1xuICAgIHByaXZhdGUgaGVhcnRCZWF0SW50ZXJ2YWwgPSAzMDAwO1xuICAgIHByaXZhdGUgaWZyYW1lUmVmcmVzaEludGVydmFsID0gNjAwMDA7XG4gICAgcHJpdmF0ZSBfb25DaGVja1Nlc3Npb25DaGFuZ2VkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgcHVibGljIGdldCBvbkNoZWNrU2Vzc2lvbkNoYW5nZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29uQ2hlY2tTZXNzaW9uQ2hhbmdlZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhdXRoQ29uZmlndXJhdGlvbjogQXV0aENvbmZpZ3VyYXRpb24sXG4gICAgICAgIHByaXZhdGUgb2lkY1NlY3VyaXR5Q29tbW9uOiBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgIHByaXZhdGUgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpRnJhbWVTZXJ2aWNlOiBJRnJhbWVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZVxuICAgICkge31cblxuICAgIHNldHVwTW9kdWxlKGF1dGhXZWxsS25vd25FbmRwb2ludHM6IEF1dGhXZWxsS25vd25FbmRwb2ludHMpIHtcbiAgICAgICAgdGhpcy5hdXRoV2VsbEtub3duRW5kcG9pbnRzID0gT2JqZWN0LmFzc2lnbih7fSwgYXV0aFdlbGxLbm93bkVuZHBvaW50cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkb2VzU2Vzc2lvbkV4aXN0KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBleGlzdGluZ0lGcmFtZSA9IHRoaXMuaUZyYW1lU2VydmljZS5nZXRFeGlzdGluZ0lGcmFtZShJRlJBTUVfRk9SX0NIRUNLX1NFU1NJT05fSURFTlRJRklFUik7XG5cbiAgICAgICAgaWYgKCFleGlzdGluZ0lGcmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXNzaW9uSWZyYW1lID0gZXhpc3RpbmdJRnJhbWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMubGFzdElGcmFtZVJlZnJlc2ggKyB0aGlzLmlmcmFtZVJlZnJlc2hJbnRlcnZhbCA+IERhdGUubm93KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tKFt0aGlzXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZG9lc1Nlc3Npb25FeGlzdCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZnJhbWUgPSB0aGlzLmlGcmFtZVNlcnZpY2UuYWRkSUZyYW1lVG9XaW5kb3dCb2R5KElGUkFNRV9GT1JfQ0hFQ0tfU0VTU0lPTl9JREVOVElGSUVSKTtcbiAgICAgICAgICAgIHRoaXMuaWZyYW1lTWVzc2FnZUV2ZW50ID0gdGhpcy5tZXNzYWdlSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLmlmcmFtZU1lc3NhZ2VFdmVudCwgZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVwbGFjZSh0aGlzLmF1dGhXZWxsS25vd25FbmRwb2ludHMuY2hlY2tfc2Vzc2lvbl9pZnJhbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2luaXQgY2hlY2sgc2Vzc2lvbjogYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbj4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklmcmFtZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0SUZyYW1lUmVmcmVzaCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzKTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhcnRDaGVja2luZ1Nlc3Npb24oY2xpZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zY2hlZHVsZWRIZWFydEJlYXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucG9sbFNlcnZlclNlc3Npb24oY2xpZW50SWQpO1xuICAgIH1cblxuICAgIHN0b3BDaGVja2luZ1Nlc3Npb24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zY2hlZHVsZWRIZWFydEJlYXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRIZWFydEJlYXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvbGxTZXJ2ZXJTZXNzaW9uKGNsaWVudElkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgX3BvbGxTZXJ2ZXJTZXNzaW9uUmVjdXIgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXQoKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlc3Npb25JZnJhbWUgJiYgY2xpZW50SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1Zyh0aGlzLnNlc3Npb25JZnJhbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbl9zdGF0ZSA9IHRoaXMub2lkY1NlY3VyaXR5Q29tbW9uLnNlc3Npb25TdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uX3N0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRzdGFuZGluZ01lc3NhZ2VzKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoY2xpZW50SWQgKyAnICcgKyBzZXNzaW9uX3N0YXRlLCB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnN0c1NlcnZlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZygnT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIHBvbGxTZXJ2ZXJTZXNzaW9uIHNlc3Npb25fc3RhdGUgaXMgYmxhbmsnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNoZWNrU2Vzc2lvbkNoYW5nZWQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ09pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiBwb2xsU2VydmVyU2Vzc2lvbiBzZXNzaW9uSWZyYW1lIGRvZXMgbm90IGV4aXN0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoY2xpZW50SWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKHRoaXMuc2Vzc2lvbklmcmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmluaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyIHNlbmRpbmcgdGhyZWUgbWVzc2FnZXMgd2l0aCBubyByZXNwb25zZSwgZmFpbC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3V0c3RhbmRpbmdNZXNzYWdlcyA+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIG5vdCByZWNlaXZpbmcgY2hlY2sgc2Vzc2lvbiByZXNwb25zZSBtZXNzYWdlcy4gT3V0c3RhbmRpbmcgbWVzc2FnZXM6ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0c3RhbmRpbmdNZXNzYWdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0uIFNlcnZlciB1bnJlYWNoYWJsZT9gXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25DaGVja1Nlc3Npb25DaGFuZ2VkLm5leHQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0ID0gc2V0VGltZW91dChfcG9sbFNlcnZlclNlc3Npb25SZWN1ciwgdGhpcy5oZWFydEJlYXRJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5vdXRzdGFuZGluZ01lc3NhZ2VzID0gMDtcblxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZWRIZWFydEJlYXQgPSBzZXRUaW1lb3V0KF9wb2xsU2VydmVyU2Vzc2lvblJlY3VyLCB0aGlzLmhlYXJ0QmVhdEludGVydmFsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgY2xlYXJTY2hlZHVsZWRIZWFydEJlYXQoKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNjaGVkdWxlZEhlYXJ0QmVhdCk7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0ID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1lc3NhZ2VIYW5kbGVyKGU6IGFueSkge1xuICAgICAgICB0aGlzLm91dHN0YW5kaW5nTWVzc2FnZXMgPSAwO1xuICAgICAgICBpZiAodGhpcy5zZXNzaW9uSWZyYW1lICYmIGUub3JpZ2luID09PSB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnN0c1NlcnZlciAmJiBlLnNvdXJjZSA9PT0gdGhpcy5zZXNzaW9uSWZyYW1lLmNvbnRlbnRXaW5kb3cpIHtcbiAgICAgICAgICAgIGlmIChlLmRhdGEgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnZXJyb3IgZnJvbSBjaGVja3Nlc3Npb24gbWVzc2FnZUhhbmRsZXInKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5kYXRhID09PSAnY2hhbmdlZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vbkNoZWNrU2Vzc2lvbkNoYW5nZWQubmV4dCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoZS5kYXRhICsgJyBmcm9tIGNoZWNrc2Vzc2lvbiBtZXNzYWdlSGFuZGxlcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5jaGVjay1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuY2hlY2stc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQVksT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztJQUV0RCxtQ0FBbUMsR0FBRyx5QkFBeUI7O0FBSXJFO0lBZUksa0NBQ1ksa0JBQXNDLEVBQ3RDLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLElBQVksRUFDSCxxQkFBNEM7UUFKckQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ0gsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWZ6RCxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUN6QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsMkJBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQU8s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Z0JBR2xCLHFCQUFxQjs7SUE0SjlCLCtCQUFDO0NBQUEsQUFuSkQsSUFtSkM7U0FsSlksd0JBQXdCOzs7Ozs7SUFDakMsaURBQTJCOzs7OztJQUMzQixzREFBZ0M7Ozs7O0lBQ2hDLHNEQUFnQzs7Ozs7SUFDaEMscURBQThCOzs7OztJQUM5Qix1REFBZ0M7Ozs7O0lBQ2hDLHFEQUFpQzs7Ozs7SUFDakMseURBQXNDOzs7OztJQUN0QywwREFBb0Q7Ozs7O0lBT2hELHNEQUE4Qzs7Ozs7SUFDOUMsaURBQW9DOzs7OztJQUNwQyxpREFBb0M7Ozs7O0lBQ3BDLHdDQUFvQjs7Ozs7SUFDcEIseURBQTZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBPYnNlcnZlciwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Qcm92aWRlciB9IGZyb20gJy4vYXV0aC1jb25maWd1cmF0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IElGcmFtZVNlcnZpY2UgfSBmcm9tICcuL2V4aXN0aW5nLWlmcmFtZS5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL29pZGMubG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2lkY1NlY3VyaXR5Q29tbW9uIH0gZnJvbSAnLi9vaWRjLnNlY3VyaXR5LmNvbW1vbic7XG5cbmNvbnN0IElGUkFNRV9GT1JfQ0hFQ0tfU0VTU0lPTl9JREVOVElGSUVSID0gJ215aUZyYW1lRm9yQ2hlY2tTZXNzaW9uJztcblxuLy8gaHR0cDovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3Qtc2Vzc2lvbi0xXzAtSUQ0Lmh0bWxcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9pZGNTZWN1cml0eUNoZWNrU2Vzc2lvbiB7XG4gICAgcHJpdmF0ZSBzZXNzaW9uSWZyYW1lOiBhbnk7XG4gICAgcHJpdmF0ZSBpZnJhbWVNZXNzYWdlRXZlbnQ6IGFueTtcbiAgICBwcml2YXRlIHNjaGVkdWxlZEhlYXJ0QmVhdDogYW55O1xuICAgIHByaXZhdGUgbGFzdElGcmFtZVJlZnJlc2ggPSAwO1xuICAgIHByaXZhdGUgb3V0c3RhbmRpbmdNZXNzYWdlcyA9IDA7XG4gICAgcHJpdmF0ZSBoZWFydEJlYXRJbnRlcnZhbCA9IDMwMDA7XG4gICAgcHJpdmF0ZSBpZnJhbWVSZWZyZXNoSW50ZXJ2YWwgPSA2MDAwMDtcbiAgICBwcml2YXRlIF9vbkNoZWNrU2Vzc2lvbkNoYW5nZWQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICBwdWJsaWMgZ2V0IG9uQ2hlY2tTZXNzaW9uQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fb25DaGVja1Nlc3Npb25DaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG9pZGNTZWN1cml0eUNvbW1vbjogT2lkY1NlY3VyaXR5Q29tbW9uLFxuICAgICAgICBwcml2YXRlIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaUZyYW1lU2VydmljZTogSUZyYW1lU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlndXJhdGlvblByb3ZpZGVyOiBDb25maWd1cmF0aW9uUHJvdmlkZXJcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGRvZXNTZXNzaW9uRXhpc3QoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nSUZyYW1lID0gdGhpcy5pRnJhbWVTZXJ2aWNlLmdldEV4aXN0aW5nSUZyYW1lKElGUkFNRV9GT1JfQ0hFQ0tfU0VTU0lPTl9JREVOVElGSUVSKTtcblxuICAgICAgICBpZiAoIWV4aXN0aW5nSUZyYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlc3Npb25JZnJhbWUgPSBleGlzdGluZ0lGcmFtZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0KCkge1xuICAgICAgICBpZiAodGhpcy5sYXN0SUZyYW1lUmVmcmVzaCArIHRoaXMuaWZyYW1lUmVmcmVzaEludGVydmFsID4gRGF0ZS5ub3coKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZyb20oW3RoaXNdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5kb2VzU2Vzc2lvbkV4aXN0KCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklmcmFtZSA9IHRoaXMuaUZyYW1lU2VydmljZS5hZGRJRnJhbWVUb1dpbmRvd0JvZHkoSUZSQU1FX0ZPUl9DSEVDS19TRVNTSU9OX0lERU5USUZJRVIpO1xuICAgICAgICAgICAgdGhpcy5pZnJhbWVNZXNzYWdlRXZlbnQgPSB0aGlzLm1lc3NhZ2VIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHRoaXMuaWZyYW1lTWVzc2FnZUV2ZW50LCBmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLndlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2luaXQgY2hlY2sgc2Vzc2lvbjogYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQuIFJldHVybmluZy4nKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMuY2hlY2tfc2Vzc2lvbl9pZnJhbWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlcGxhY2UodGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIud2VsbEtub3duRW5kcG9pbnRzLmNoZWNrX3Nlc3Npb25faWZyYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKCdpbml0IGNoZWNrIHNlc3Npb246IGF1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxPaWRjU2VjdXJpdHlDaGVja1Nlc3Npb24+KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZnJhbWUub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGFzdElGcmFtZVJlZnJlc2ggPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQodGhpcyk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXJ0Q2hlY2tpbmdTZXNzaW9uKGNsaWVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvbGxTZXJ2ZXJTZXNzaW9uKGNsaWVudElkKTtcbiAgICB9XG5cbiAgICBzdG9wQ2hlY2tpbmdTZXNzaW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkSGVhcnRCZWF0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb2xsU2VydmVyU2Vzc2lvbihjbGllbnRJZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IF9wb2xsU2VydmVyU2Vzc2lvblJlY3VyID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0KClcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zZXNzaW9uSWZyYW1lICYmIGNsaWVudElkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcodGhpcy5zZXNzaW9uSWZyYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlc3Npb25fc3RhdGUgPSB0aGlzLm9pZGNTZWN1cml0eUNvbW1vbi5zZXNzaW9uU3RhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2Vzc2lvbl9zdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0c3RhbmRpbmdNZXNzYWdlcysrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCArICcgJyArIHNlc3Npb25fc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uc3RzU2VydmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKCdPaWRjU2VjdXJpdHlDaGVja1Nlc3Npb24gcG9sbFNlcnZlclNlc3Npb24gc2Vzc2lvbl9zdGF0ZSBpcyBibGFuaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hlY2tTZXNzaW9uQ2hhbmdlZC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nV2FybmluZygnT2lkY1NlY3VyaXR5Q2hlY2tTZXNzaW9uIHBvbGxTZXJ2ZXJTZXNzaW9uIHNlc3Npb25JZnJhbWUgZG9lcyBub3QgZXhpc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZyhjbGllbnRJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcodGhpcy5zZXNzaW9uSWZyYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuaW5pdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXIgc2VuZGluZyB0aHJlZSBtZXNzYWdlcyB3aXRoIG5vIHJlc3BvbnNlLCBmYWlsLlxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vdXRzdGFuZGluZ01lc3NhZ2VzID4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0Vycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBPaWRjU2VjdXJpdHlDaGVja1Nlc3Npb24gbm90IHJlY2VpdmluZyBjaGVjayBzZXNzaW9uIHJlc3BvbnNlIG1lc3NhZ2VzLiBPdXRzdGFuZGluZyBtZXNzYWdlczogJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRzdGFuZGluZ01lc3NhZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfS4gU2VydmVyIHVucmVhY2hhYmxlP2BcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNoZWNrU2Vzc2lvbkNoYW5nZWQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsZWRIZWFydEJlYXQgPSBzZXRUaW1lb3V0KF9wb2xsU2VydmVyU2Vzc2lvblJlY3VyLCB0aGlzLmhlYXJ0QmVhdEludGVydmFsKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLm91dHN0YW5kaW5nTWVzc2FnZXMgPSAwO1xuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlZEhlYXJ0QmVhdCA9IHNldFRpbWVvdXQoX3BvbGxTZXJ2ZXJTZXNzaW9uUmVjdXIsIHRoaXMuaGVhcnRCZWF0SW50ZXJ2YWwpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBjbGVhclNjaGVkdWxlZEhlYXJ0QmVhdCgpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2NoZWR1bGVkSGVhcnRCZWF0KTtcbiAgICAgICAgdGhpcy5zY2hlZHVsZWRIZWFydEJlYXQgPSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWVzc2FnZUhhbmRsZXIoZTogYW55KSB7XG4gICAgICAgIHRoaXMub3V0c3RhbmRpbmdNZXNzYWdlcyA9IDA7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklmcmFtZSAmJlxuICAgICAgICAgICAgZS5vcmlnaW4gPT09IHRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uc3RzU2VydmVyICYmXG4gICAgICAgICAgICBlLnNvdXJjZSA9PT0gdGhpcy5zZXNzaW9uSWZyYW1lLmNvbnRlbnRXaW5kb3dcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoZS5kYXRhID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2Vycm9yIGZyb20gY2hlY2tzZXNzaW9uIG1lc3NhZ2VIYW5kbGVyJyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGUuZGF0YSA9PT0gJ2NoYW5nZWQnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGVja1Nlc3Npb25DaGFuZ2VkLm5leHQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKGUuZGF0YSArICcgZnJvbSBjaGVja3Nlc3Npb24gbWVzc2FnZUhhbmRsZXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== |
@@ -8,7 +8,17 @@ /** | ||
import { of, Subject } from 'rxjs'; | ||
import { catchError, map } from 'rxjs/operators'; | ||
import { catchError, switchMap } from 'rxjs/operators'; | ||
/** | ||
* @record | ||
*/ | ||
export function ConfigResult() { } | ||
if (false) { | ||
/** @type {?} */ | ||
ConfigResult.prototype.authWellknownEndpoints; | ||
/** @type {?} */ | ||
ConfigResult.prototype.customConfig; | ||
} | ||
var OidcConfigService = /** @class */ (function () { | ||
function OidcConfigService(httpClient) { | ||
this.httpClient = httpClient; | ||
this._onConfigurationLoaded = new Subject(); | ||
this.configurationLoadedInternal = new Subject(); | ||
} | ||
@@ -20,3 +30,3 @@ Object.defineProperty(OidcConfigService.prototype, "onConfigurationLoaded", { | ||
function () { | ||
return this._onConfigurationLoaded.asObservable(); | ||
return this.configurationLoadedInternal.asObservable(); | ||
}, | ||
@@ -36,11 +46,10 @@ enumerable: true, | ||
var _this = this; | ||
this.httpClient | ||
return this.httpClient | ||
.get(configUrl) | ||
.pipe(map((/** | ||
* @param {?} response | ||
.pipe(switchMap((/** | ||
* @param {?} clientConfiguration | ||
* @return {?} | ||
*/ | ||
function (response) { | ||
_this.clientConfiguration = response; | ||
_this.load_using_stsServer(_this.clientConfiguration.stsServer); | ||
function (clientConfiguration) { | ||
return _this.loadUsingConfiguration(clientConfiguration); | ||
})), catchError((/** | ||
@@ -52,6 +61,6 @@ * @param {?} error | ||
console.error("OidcConfigService 'load' threw an error on calling " + configUrl, error); | ||
_this._onConfigurationLoaded.next(false); | ||
_this.configurationLoadedInternal.next(undefined); | ||
return of(false); | ||
}))) | ||
.subscribe(); | ||
.toPromise(); | ||
}; | ||
@@ -67,14 +76,26 @@ /** | ||
function (stsServer) { | ||
return this.loadUsingConfiguration({ stsServer: stsServer }).toPromise(); | ||
}; | ||
/** | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
OidcConfigService.prototype.load_using_custom_stsServer = /** | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
function (url) { | ||
var _this = this; | ||
/** @type {?} */ | ||
var url = stsServer + "/.well-known/openid-configuration"; | ||
this.httpClient | ||
return this.httpClient | ||
.get(url) | ||
.pipe(map((/** | ||
* @param {?} response | ||
.pipe(switchMap((/** | ||
* @param {?} wellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
function (response) { | ||
_this.wellKnownEndpoints = response; | ||
_this._onConfigurationLoaded.next(true); | ||
function (wellKnownEndpoints) { | ||
_this.configurationLoadedInternal.next({ | ||
authWellknownEndpoints: wellKnownEndpoints, | ||
customConfig: { stsServer: url }, | ||
}); | ||
return of(true); | ||
})), catchError((/** | ||
@@ -85,27 +106,36 @@ * @param {?} error | ||
function (error) { | ||
console.error("OidcConfigService 'load_using_stsServer' threw an error on calling " + stsServer, error); | ||
_this._onConfigurationLoaded.next(false); | ||
console.error("OidcConfigService 'load_using_custom_stsServer' threw an error on calling " + url, error); | ||
_this.configurationLoadedInternal.next(undefined); | ||
return of(false); | ||
}))) | ||
.subscribe(); | ||
.toPromise(); | ||
}; | ||
/** | ||
* @param {?} url | ||
* @private | ||
* @param {?} clientConfig | ||
* @return {?} | ||
*/ | ||
OidcConfigService.prototype.load_using_custom_stsServer = /** | ||
* @param {?} url | ||
OidcConfigService.prototype.loadUsingConfiguration = /** | ||
* @private | ||
* @param {?} clientConfig | ||
* @return {?} | ||
*/ | ||
function (url) { | ||
function (clientConfig) { | ||
var _this = this; | ||
this.httpClient | ||
.get(url) | ||
.pipe(map((/** | ||
* @param {?} response | ||
if (!clientConfig.stsServer) { | ||
console.error("Property 'stsServer' is not present of passed config " + JSON.stringify(clientConfig), clientConfig); | ||
throw new Error("Property 'stsServer' is not present of passed config " + JSON.stringify(clientConfig)); | ||
} | ||
/** @type {?} */ | ||
var url = clientConfig.stsServer + "/.well-known/openid-configuration"; | ||
return this.httpClient.get(url).pipe(switchMap((/** | ||
* @param {?} wellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
function (response) { | ||
_this.wellKnownEndpoints = response; | ||
_this._onConfigurationLoaded.next(true); | ||
function (wellKnownEndpoints) { | ||
_this.configurationLoadedInternal.next({ | ||
authWellknownEndpoints: wellKnownEndpoints, | ||
customConfig: clientConfig, | ||
}); | ||
return of(true); | ||
})), catchError((/** | ||
@@ -116,7 +146,6 @@ * @param {?} error | ||
function (error) { | ||
console.error("OidcConfigService 'load_using_custom_stsServer' threw an error on calling " + url, error); | ||
_this._onConfigurationLoaded.next(false); | ||
console.error("OidcConfigService 'load_using_stsServer' threw an error on calling " + url, error); | ||
_this.configurationLoadedInternal.next(undefined); | ||
return of(false); | ||
}))) | ||
.subscribe(); | ||
}))); | ||
}; | ||
@@ -138,7 +167,3 @@ OidcConfigService.decorators = [ | ||
*/ | ||
OidcConfigService.prototype._onConfigurationLoaded; | ||
/** @type {?} */ | ||
OidcConfigService.prototype.clientConfiguration; | ||
/** @type {?} */ | ||
OidcConfigService.prototype.wellKnownEndpoints; | ||
OidcConfigService.prototype.configurationLoadedInternal; | ||
/** | ||
@@ -150,2 +175,2 @@ * @type {?} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LmNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpEO0lBVUksMkJBQTZCLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFSM0MsMkJBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQVFGLENBQUM7SUFKdkQsc0JBQVcsb0RBQXFCOzs7O1FBQWhDO1lBQ0ksT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsQ0FBQzs7O09BQUE7Ozs7O0lBSUQsZ0NBQUk7Ozs7SUFBSixVQUFLLFNBQWlCO1FBQXRCLGlCQWVDO1FBZEcsSUFBSSxDQUFDLFVBQVU7YUFDVixHQUFHLENBQUMsU0FBUyxDQUFDO2FBQ2QsSUFBSSxDQUNELEdBQUc7Ozs7UUFBQyxVQUFBLFFBQVE7WUFDUixLQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO1lBQ3BDLEtBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEUsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLFVBQUEsS0FBSztZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0RBQXNELFNBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RixLQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUNMO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7Ozs7SUFFRCxnREFBb0I7Ozs7SUFBcEIsVUFBcUIsU0FBaUI7UUFBdEMsaUJBaUJDOztZQWhCUyxHQUFHLEdBQU0sU0FBUyxzQ0FBbUM7UUFFM0QsSUFBSSxDQUFDLFVBQVU7YUFDVixHQUFHLENBQUMsR0FBRyxDQUFDO2FBQ1IsSUFBSSxDQUNELEdBQUc7Ozs7UUFBQyxVQUFBLFFBQVE7WUFDUixLQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDO1lBQ25DLEtBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLFVBQUEsS0FBSztZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0VBQXNFLFNBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RyxLQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUNMO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7Ozs7SUFFRCx1REFBMkI7Ozs7SUFBM0IsVUFBNEIsR0FBVztRQUF2QyxpQkFlQztRQWRHLElBQUksQ0FBQyxVQUFVO2FBQ1YsR0FBRyxDQUFDLEdBQUcsQ0FBQzthQUNSLElBQUksQ0FDRCxHQUFHOzs7O1FBQUMsVUFBQSxRQUFRO1lBQ1IsS0FBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztZQUNuQyxLQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUMsRUFBQyxFQUNGLFVBQVU7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLCtFQUE2RSxHQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekcsS0FBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7O2dCQS9ESixVQUFVOzs7O2dCQUxGLFVBQVU7O0lBcUVuQix3QkFBQztDQUFBLEFBaEVELElBZ0VDO1NBL0RZLGlCQUFpQjs7Ozs7O0lBQzFCLG1EQUF3RDs7SUFDeEQsZ0RBQXlCOztJQUN6QiwrQ0FBd0I7Ozs7O0lBTVosdUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPaWRjQ29uZmlnU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfb25Db25maWd1cmF0aW9uTG9hZGVkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBjbGllbnRDb25maWd1cmF0aW9uOiBhbnk7XG4gICAgd2VsbEtub3duRW5kcG9pbnRzOiBhbnk7XG5cbiAgICBwdWJsaWMgZ2V0IG9uQ29uZmlndXJhdGlvbkxvYWRlZCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29uQ29uZmlndXJhdGlvbkxvYWRlZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgICBsb2FkKGNvbmZpZ1VybDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLmdldChjb25maWdVcmwpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsaWVudENvbmZpZ3VyYXRpb24gPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkX3VzaW5nX3N0c1NlcnZlcih0aGlzLmNsaWVudENvbmZpZ3VyYXRpb24uc3RzU2VydmVyKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgT2lkY0NvbmZpZ1NlcnZpY2UgJ2xvYWQnIHRocmV3IGFuIGVycm9yIG9uIGNhbGxpbmcgJHtjb25maWdVcmx9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNvbmZpZ3VyYXRpb25Mb2FkZWQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBsb2FkX3VzaW5nX3N0c1NlcnZlcihzdHNTZXJ2ZXI6IHN0cmluZykge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtzdHNTZXJ2ZXJ9Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYDtcblxuICAgICAgICB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQodXJsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWxsS25vd25FbmRwb2ludHMgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25Db25maWd1cmF0aW9uTG9hZGVkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYE9pZGNDb25maWdTZXJ2aWNlICdsb2FkX3VzaW5nX3N0c1NlcnZlcicgdGhyZXcgYW4gZXJyb3Igb24gY2FsbGluZyAke3N0c1NlcnZlcn1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ29uZmlndXJhdGlvbkxvYWRlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGxvYWRfdXNpbmdfY3VzdG9tX3N0c1NlcnZlcih1cmw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQodXJsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWxsS25vd25FbmRwb2ludHMgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25Db25maWd1cmF0aW9uTG9hZGVkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYE9pZGNDb25maWdTZXJ2aWNlICdsb2FkX3VzaW5nX2N1c3RvbV9zdHNTZXJ2ZXInIHRocmV3IGFuIGVycm9yIG9uIGNhbGxpbmcgJHt1cmx9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNvbmZpZ3VyYXRpb25Mb2FkZWQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vaWRjLnNlY3VyaXR5LmNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXZELGtDQUdDOzs7SUFGRyw4Q0FBNEI7O0lBQzVCLG9DQUFrQjs7QUFHdEI7SUFRSSwyQkFBNkIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQU4zQyxnQ0FBMkIsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztJQU1aLENBQUM7SUFKdkQsc0JBQVcsb0RBQXFCOzs7O1FBQWhDO1lBQ0ksT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0QsQ0FBQzs7O09BQUE7Ozs7O0lBSUQsZ0NBQUk7Ozs7SUFBSixVQUFLLFNBQWlCO1FBQXRCLGlCQWNDO1FBYkcsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNqQixHQUFHLENBQUMsU0FBUyxDQUFDO2FBQ2QsSUFBSSxDQUNELFNBQVM7Ozs7UUFBQyxVQUFBLG1CQUFtQjtZQUN6QixPQUFPLEtBQUksQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVELENBQUMsRUFBQyxFQUNGLFVBQVU7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLHdEQUFzRCxTQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEYsS0FBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBRUQsZ0RBQW9COzs7O0lBQXBCLFVBQXFCLFNBQWlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsU0FBUyxXQUFBLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xFLENBQUM7Ozs7O0lBRUQsdURBQTJCOzs7O0lBQTNCLFVBQTRCLEdBQVc7UUFBdkMsaUJBa0JDO1FBakJHLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDakIsR0FBRyxDQUFDLEdBQUcsQ0FBQzthQUNSLElBQUksQ0FDRCxTQUFTOzs7O1FBQUMsVUFBQSxrQkFBa0I7WUFDeEIsS0FBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQztnQkFDbEMsc0JBQXNCLEVBQUUsa0JBQWtCO2dCQUMxQyxZQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFO2FBQ25DLENBQUMsQ0FBQztZQUNILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsRUFBQyxFQUNGLFVBQVU7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLCtFQUE2RSxHQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekcsS0FBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Ozs7OztJQUVPLGtEQUFzQjs7Ozs7SUFBOUIsVUFBK0IsWUFBaUI7UUFBaEQsaUJBc0JDO1FBckJHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMERBQXdELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDcEgsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBd0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUcsQ0FBQyxDQUFDO1NBQzNHOztZQUVLLEdBQUcsR0FBTSxZQUFZLENBQUMsU0FBUyxzQ0FBbUM7UUFFeEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2hDLFNBQVM7Ozs7UUFBQyxVQUFBLGtCQUFrQjtZQUN4QixLQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDO2dCQUNsQyxzQkFBc0IsRUFBRSxrQkFBa0I7Z0JBQzFDLFlBQVksRUFBRSxZQUFZO2FBQzdCLENBQUMsQ0FBQztZQUNILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsRUFBQyxFQUNGLFVBQVU7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLHdFQUFzRSxHQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEcsS0FBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7Z0JBeEVKLFVBQVU7Ozs7Z0JBVkYsVUFBVTs7SUFtRm5CLHdCQUFDO0NBQUEsQUF6RUQsSUF5RUM7U0F4RVksaUJBQWlCOzs7Ozs7SUFDMUIsd0RBQWtFOzs7OztJQU10RCx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdSZXN1bHQge1xuICAgIGF1dGhXZWxsa25vd25FbmRwb2ludHM6IGFueTtcbiAgICBjdXN0b21Db25maWc6IGFueTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9pZGNDb25maWdTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25Mb2FkZWRJbnRlcm5hbCA9IG5ldyBTdWJqZWN0PENvbmZpZ1Jlc3VsdD4oKTtcblxuICAgIHB1YmxpYyBnZXQgb25Db25maWd1cmF0aW9uTG9hZGVkKCk6IE9ic2VydmFibGU8Q29uZmlnUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25Mb2FkZWRJbnRlcm5hbC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgICBsb2FkKGNvbmZpZ1VybDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQoY29uZmlnVXJsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGNsaWVudENvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkVXNpbmdDb25maWd1cmF0aW9uKGNsaWVudENvbmZpZ3VyYXRpb24pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBPaWRjQ29uZmlnU2VydmljZSAnbG9hZCcgdGhyZXcgYW4gZXJyb3Igb24gY2FsbGluZyAke2NvbmZpZ1VybH1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbkxvYWRlZEludGVybmFsLm5leHQodW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGxvYWRfdXNpbmdfc3RzU2VydmVyKHN0c1NlcnZlcjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRVc2luZ0NvbmZpZ3VyYXRpb24oeyBzdHNTZXJ2ZXIgfSkudG9Qcm9taXNlKCk7XG4gICAgfVxuXG4gICAgbG9hZF91c2luZ19jdXN0b21fc3RzU2VydmVyKHVybDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5nZXQodXJsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHdlbGxLbm93bkVuZHBvaW50cyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbkxvYWRlZEludGVybmFsLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFdlbGxrbm93bkVuZHBvaW50czogd2VsbEtub3duRW5kcG9pbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tQ29uZmlnOiB7IHN0c1NlcnZlcjogdXJsIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYE9pZGNDb25maWdTZXJ2aWNlICdsb2FkX3VzaW5nX2N1c3RvbV9zdHNTZXJ2ZXInIHRocmV3IGFuIGVycm9yIG9uIGNhbGxpbmcgJHt1cmx9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Mb2FkZWRJbnRlcm5hbC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRVc2luZ0NvbmZpZ3VyYXRpb24oY2xpZW50Q29uZmlnOiBhbnkpIHtcbiAgICAgICAgaWYgKCFjbGllbnRDb25maWcuc3RzU2VydmVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBQcm9wZXJ0eSAnc3RzU2VydmVyJyBpcyBub3QgcHJlc2VudCBvZiBwYXNzZWQgY29uZmlnICR7SlNPTi5zdHJpbmdpZnkoY2xpZW50Q29uZmlnKX1gLCBjbGllbnRDb25maWcpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQcm9wZXJ0eSAnc3RzU2VydmVyJyBpcyBub3QgcHJlc2VudCBvZiBwYXNzZWQgY29uZmlnICR7SlNPTi5zdHJpbmdpZnkoY2xpZW50Q29uZmlnKX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVybCA9IGAke2NsaWVudENvbmZpZy5zdHNTZXJ2ZXJ9Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYDtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAod2VsbEtub3duRW5kcG9pbnRzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Mb2FkZWRJbnRlcm5hbC5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgYXV0aFdlbGxrbm93bkVuZHBvaW50czogd2VsbEtub3duRW5kcG9pbnRzLFxuICAgICAgICAgICAgICAgICAgICBjdXN0b21Db25maWc6IGNsaWVudENvbmZpZyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYE9pZGNDb25maWdTZXJ2aWNlICdsb2FkX3VzaW5nX3N0c1NlcnZlcicgdGhyZXcgYW4gZXJyb3Igb24gY2FsbGluZyAke3VybH1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uTG9hZGVkSW50ZXJuYWwubmV4dCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ== |
@@ -6,3 +6,3 @@ /** | ||
import { Injectable } from '@angular/core'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
/** | ||
@@ -39,4 +39,4 @@ * Implement this class-interface to create a custom storage. | ||
var BrowserStorage = /** @class */ (function () { | ||
function BrowserStorage(authConfiguration) { | ||
this.authConfiguration = authConfiguration; | ||
function BrowserStorage(configProvider) { | ||
this.configProvider = configProvider; | ||
this.hasStorage = typeof Storage !== 'undefined'; | ||
@@ -54,3 +54,3 @@ } | ||
if (this.hasStorage) { | ||
return JSON.parse(this.authConfiguration.storage.getItem(key + '_' + this.authConfiguration.client_id)); | ||
return JSON.parse(this.configProvider.openIDConfiguration.storage.getItem(key + '_' + this.configProvider.openIDConfiguration.client_id)); | ||
} | ||
@@ -72,3 +72,3 @@ return; | ||
value = value === undefined ? null : value; | ||
this.authConfiguration.storage.setItem(key + '_' + this.authConfiguration.client_id, JSON.stringify(value)); | ||
this.configProvider.openIDConfiguration.storage.setItem(key + '_' + this.configProvider.openIDConfiguration.client_id, JSON.stringify(value)); | ||
} | ||
@@ -81,3 +81,3 @@ }; | ||
BrowserStorage.ctorParameters = function () { return [ | ||
{ type: AuthConfiguration } | ||
{ type: ConfigurationProvider } | ||
]; }; | ||
@@ -97,4 +97,4 @@ return BrowserStorage; | ||
*/ | ||
BrowserStorage.prototype.authConfiguration; | ||
BrowserStorage.prototype.configProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFLbEU7SUFBQTtJQWVBLENBQUM7O2dCQWZBLFVBQVU7O0lBZVgsMEJBQUM7Q0FBQSxBQWZELElBZUM7U0FkcUIsbUJBQW1COzs7Ozs7OztJQU1yQyx3REFBdUM7Ozs7Ozs7O0lBT3ZDLGdFQUFxRDs7QUFHekQ7SUFJSSx3QkFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLE9BQU8sS0FBSyxXQUFXLENBQUM7SUFDckQsQ0FBQzs7Ozs7SUFFTSw2QkFBSTs7OztJQUFYLFVBQVksR0FBVztRQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDM0c7UUFFRCxPQUFPO0lBQ1gsQ0FBQzs7Ozs7O0lBRU0sOEJBQUs7Ozs7O0lBQVosVUFBYSxHQUFXLEVBQUUsS0FBVTtRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsS0FBSyxHQUFHLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDL0c7SUFDTCxDQUFDOztnQkFyQkosVUFBVTs7OztnQkF0QkYsaUJBQWlCOztJQTRDMUIscUJBQUM7Q0FBQSxBQXRCRCxJQXNCQztTQXJCWSxjQUFjOzs7Ozs7SUFDdkIsb0NBQTRCOzs7OztJQUVoQiwyQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC5jb25maWd1cmF0aW9uJztcblxuLyoqXG4gKiBJbXBsZW1lbnQgdGhpcyBjbGFzcy1pbnRlcmZhY2UgdG8gY3JlYXRlIGEgY3VzdG9tIHN0b3JhZ2UuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPaWRjU2VjdXJpdHlTdG9yYWdlIHtcbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBtdXN0IGNvbnRhaW4gdGhlIGxvZ2ljIHRvIHJlYWQgdGhlIHN0b3JhZ2UuXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEByZXR1cm4gVGhlIHZhbHVlIG9mIHRoZSBnaXZlbiBrZXlcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVhZChrZXk6IHN0cmluZyk6IGFueTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIG11c3QgY29udGFpbiB0aGUgbG9naWMgdG8gd3JpdGUgdGhlIHN0b3JhZ2UuXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgZm9yIHRoZSBnaXZlbiBrZXlcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3Qgd3JpdGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnJvd3NlclN0b3JhZ2UgaW1wbGVtZW50cyBPaWRjU2VjdXJpdHlTdG9yYWdlIHtcbiAgICBwcml2YXRlIGhhc1N0b3JhZ2U6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhDb25maWd1cmF0aW9uOiBBdXRoQ29uZmlndXJhdGlvbikge1xuICAgICAgICB0aGlzLmhhc1N0b3JhZ2UgPSB0eXBlb2YgU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgfVxuXG4gICAgcHVibGljIHJlYWQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5oYXNTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLmF1dGhDb25maWd1cmF0aW9uLnN0b3JhZ2UuZ2V0SXRlbShrZXkgKyAnXycgKyB0aGlzLmF1dGhDb25maWd1cmF0aW9uLmNsaWVudF9pZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNTdG9yYWdlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlID09PSB1bmRlZmluZWQgPyBudWxsIDogdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnN0b3JhZ2Uuc2V0SXRlbShrZXkgKyAnXycgKyB0aGlzLmF1dGhDb25maWd1cmF0aW9uLmNsaWVudF9pZCwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS5zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29pZGMuc2VjdXJpdHkuc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFLdEU7SUFBQTtJQWVBLENBQUM7O2dCQWZBLFVBQVU7O0lBZVgsMEJBQUM7Q0FBQSxBQWZELElBZUM7U0FkcUIsbUJBQW1COzs7Ozs7OztJQU1yQyx3REFBdUM7Ozs7Ozs7O0lBT3ZDLGdFQUFxRDs7QUFHekQ7SUFJSSx3QkFBb0IsY0FBcUM7UUFBckMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDO0lBQ3JELENBQUM7Ozs7O0lBRU0sNkJBQUk7Ozs7SUFBWCxVQUFZLEdBQVc7UUFDbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDN0k7UUFFRCxPQUFPO0lBQ1gsQ0FBQzs7Ozs7O0lBRU0sOEJBQUs7Ozs7O0lBQVosVUFBYSxHQUFXLEVBQUUsS0FBVTtRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsS0FBSyxHQUFHLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDbkQsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FDeEIsQ0FBQztTQUNMO0lBQ0wsQ0FBQzs7Z0JBeEJKLFVBQVU7Ozs7Z0JBdEJGLHFCQUFxQjs7SUErQzlCLHFCQUFDO0NBQUEsQUF6QkQsSUF5QkM7U0F4QlksY0FBYzs7Ozs7O0lBQ3ZCLG9DQUE0Qjs7Ozs7SUFFaEIsd0NBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9hdXRoLWNvbmZpZ3VyYXRpb24ucHJvdmlkZXInO1xuXG4vKipcbiAqIEltcGxlbWVudCB0aGlzIGNsYXNzLWludGVyZmFjZSB0byBjcmVhdGUgYSBjdXN0b20gc3RvcmFnZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9pZGNTZWN1cml0eVN0b3JhZ2Uge1xuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIG11c3QgY29udGFpbiB0aGUgbG9naWMgdG8gcmVhZCB0aGUgc3RvcmFnZS5cbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGdpdmVuIGtleVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZWFkKGtleTogc3RyaW5nKTogYW55O1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgbXVzdCBjb250YWluIHRoZSBsb2dpYyB0byB3cml0ZSB0aGUgc3RvcmFnZS5cbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBmb3IgdGhlIGdpdmVuIGtleVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCB3cml0ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCcm93c2VyU3RvcmFnZSBpbXBsZW1lbnRzIE9pZGNTZWN1cml0eVN0b3JhZ2Uge1xuICAgIHByaXZhdGUgaGFzU3RvcmFnZTogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnUHJvdmlkZXI6IENvbmZpZ3VyYXRpb25Qcm92aWRlcikge1xuICAgICAgICB0aGlzLmhhc1N0b3JhZ2UgPSB0eXBlb2YgU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgfVxuXG4gICAgcHVibGljIHJlYWQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5oYXNTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLmNvbmZpZ1Byb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uc3RvcmFnZS5nZXRJdGVtKGtleSArICdfJyArIHRoaXMuY29uZmlnUHJvdmlkZXIub3BlbklEQ29uZmlndXJhdGlvbi5jbGllbnRfaWQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzU3RvcmFnZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5jb25maWdQcm92aWRlci5vcGVuSURDb25maWd1cmF0aW9uLnN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICAgICAgICBrZXkgKyAnXycgKyB0aGlzLmNvbmZpZ1Byb3ZpZGVyLm9wZW5JRENvbmZpZ3VyYXRpb24uY2xpZW50X2lkLFxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHZhbHVlKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== |
@@ -8,25 +8,16 @@ /** | ||
import { OidcDataService } from '../data-services/oidc-data.service'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { LoggerService } from './oidc.logger.service'; | ||
import { OidcSecurityCommon } from './oidc.security.common'; | ||
var OidcSecurityUserService = /** @class */ (function () { | ||
function OidcSecurityUserService(oidcDataService, oidcSecurityCommon, loggerService) { | ||
function OidcSecurityUserService(oidcDataService, oidcSecurityCommon, loggerService, configurationProvider) { | ||
this.oidcDataService = oidcDataService; | ||
this.oidcSecurityCommon = oidcSecurityCommon; | ||
this.loggerService = loggerService; | ||
this.configurationProvider = configurationProvider; | ||
this.userData = ''; | ||
} | ||
/** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
OidcSecurityUserService.prototype.setupModule = /** | ||
* @param {?} authWellKnownEndpoints | ||
* @return {?} | ||
*/ | ||
function (authWellKnownEndpoints) { | ||
this.authWellKnownEndpoints = Object.assign({}, authWellKnownEndpoints); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
OidcSecurityUserService.prototype.initUserData = /** | ||
@@ -77,3 +68,3 @@ * @return {?} | ||
var token = this.oidcSecurityCommon.getAccessToken(); | ||
if (!this.authWellKnownEndpoints) { | ||
if (!this.configurationProvider.wellKnownEndpoints) { | ||
this.loggerService.logWarning('init check session: authWellKnownEndpoints is undefined'); | ||
@@ -83,3 +74,3 @@ throw Error('authWellKnownEndpoints is undefined'); | ||
/** @type {?} */ | ||
var canGetUserData = this.authWellKnownEndpoints && this.authWellKnownEndpoints.userinfo_endpoint; | ||
var canGetUserData = this.configurationProvider.wellKnownEndpoints && this.configurationProvider.wellKnownEndpoints.userinfo_endpoint; | ||
if (!canGetUserData) { | ||
@@ -89,3 +80,3 @@ this.loggerService.logError('init check session: authWellKnownEndpoints.userinfo_endpoint is undefined; set auto_userinfo = false in config'); | ||
} | ||
return this.oidcDataService.getIdentityUserData(this.authWellKnownEndpoints.userinfo_endpoint, token); | ||
return this.oidcDataService.getIdentityUserData(this.configurationProvider.wellKnownEndpoints.userinfo_endpoint || '', token); | ||
}; | ||
@@ -99,3 +90,4 @@ OidcSecurityUserService.decorators = [ | ||
{ type: OidcSecurityCommon }, | ||
{ type: LoggerService } | ||
{ type: LoggerService }, | ||
{ type: ConfigurationProvider } | ||
]; }; | ||
@@ -115,3 +107,3 @@ return OidcSecurityUserService; | ||
*/ | ||
OidcSecurityUserService.prototype.authWellKnownEndpoints; | ||
OidcSecurityUserService.prototype.oidcDataService; | ||
/** | ||
@@ -121,3 +113,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityUserService.prototype.oidcDataService; | ||
OidcSecurityUserService.prototype.oidcSecurityCommon; | ||
/** | ||
@@ -127,3 +119,3 @@ * @type {?} | ||
*/ | ||
OidcSecurityUserService.prototype.oidcSecurityCommon; | ||
OidcSecurityUserService.prototype.loggerService; | ||
/** | ||
@@ -133,4 +125,4 @@ * @type {?} | ||
*/ | ||
OidcSecurityUserService.prototype.loggerService; | ||
OidcSecurityUserService.prototype.configurationProvider; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQ7SUFLSSxpQ0FBb0IsZUFBZ0MsRUFBVSxrQkFBc0MsRUFBVSxhQUE0QjtRQUF0SCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFIbEksYUFBUSxHQUFRLEVBQUUsQ0FBQztJQUdrSCxDQUFDOzs7OztJQUU5SSw2Q0FBVzs7OztJQUFYLFVBQVksc0JBQThDO1FBQ3RELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Ozs7SUFFRCw4Q0FBWTs7O0lBQVo7UUFBQSxpQkFFQztRQURHLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUc7Ozs7UUFBQyxVQUFDLElBQVMsSUFBSyxPQUFBLENBQUMsS0FBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBdEIsQ0FBc0IsRUFBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQzs7OztJQUVELDZDQUFXOzs7SUFBWDtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE1BQU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDdkM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQzs7Ozs7SUFFRCw2Q0FBVzs7OztJQUFYLFVBQVksS0FBVTtRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDOzs7OztJQUVPLHFEQUFtQjs7OztJQUEzQjs7WUFDVSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRTtRQUV0RCxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7WUFFekYsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUN0RDs7WUFFSyxjQUFjLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUI7UUFFbkcsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDdkIsZ0hBQWdILENBQ25ILENBQUM7WUFDRixNQUFNLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRyxDQUFDOztnQkE5Q0osVUFBVTs7OztnQkFMRixlQUFlO2dCQUdmLGtCQUFrQjtnQkFEbEIsYUFBYTs7SUFrRHRCLDhCQUFDO0NBQUEsQUEvQ0QsSUErQ0M7U0E5Q1ksdUJBQXVCOzs7Ozs7SUFDaEMsMkNBQTJCOzs7OztJQUMzQix5REFBbUU7Ozs7O0lBRXZELGtEQUF3Qzs7Ozs7SUFBRSxxREFBOEM7Ozs7O0lBQUUsZ0RBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2lkY0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoV2VsbEtub3duRW5kcG9pbnRzIH0gZnJvbSAnLi4vbW9kZWxzL2F1dGgud2VsbC1rbm93bi1lbmRwb2ludHMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vb2lkYy5sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPaWRjU2VjdXJpdHlDb21tb24gfSBmcm9tICcuL29pZGMuc2VjdXJpdHkuY29tbW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9pZGNTZWN1cml0eVVzZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHVzZXJEYXRhOiBhbnkgPSAnJztcbiAgICBwcml2YXRlIGF1dGhXZWxsS25vd25FbmRwb2ludHM6IEF1dGhXZWxsS25vd25FbmRwb2ludHMgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9pZGNEYXRhU2VydmljZTogT2lkY0RhdGFTZXJ2aWNlLCBwcml2YXRlIG9pZGNTZWN1cml0eUNvbW1vbjogT2lkY1NlY3VyaXR5Q29tbW9uLCBwcml2YXRlIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UpIHt9XG5cbiAgICBzZXR1cE1vZHVsZShhdXRoV2VsbEtub3duRW5kcG9pbnRzOiBBdXRoV2VsbEtub3duRW5kcG9pbnRzKSB7XG4gICAgICAgIHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cyA9IE9iamVjdC5hc3NpZ24oe30sIGF1dGhXZWxsS25vd25FbmRwb2ludHMpO1xuICAgIH1cblxuICAgIGluaXRVc2VyRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SWRlbnRpdHlVc2VyRGF0YSgpLnBpcGUobWFwKChkYXRhOiBhbnkpID0+ICh0aGlzLnVzZXJEYXRhID0gZGF0YSkpKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyRGF0YSgpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMudXNlckRhdGEpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdVc2VyRGF0YSBpcyBub3Qgc2V0IScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlckRhdGE7XG4gICAgfVxuXG4gICAgc2V0VXNlckRhdGEodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJEYXRhID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJZGVudGl0eVVzZXJEYXRhKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgICAgICBpZiAoIXRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2luaXQgY2hlY2sgc2Vzc2lvbjogYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQnKTtcblxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYW5HZXRVc2VyRGF0YSA9IHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cyAmJiB0aGlzLmF1dGhXZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQ7XG5cbiAgICAgICAgaWYgKCFjYW5HZXRVc2VyRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0Vycm9yKFxuICAgICAgICAgICAgICAgICdpbml0IGNoZWNrIHNlc3Npb246IGF1dGhXZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQgaXMgdW5kZWZpbmVkOyBzZXQgYXV0b191c2VyaW5mbyA9IGZhbHNlIGluIGNvbmZpZydcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignYXV0aFdlbGxLbm93bkVuZHBvaW50cy51c2VyaW5mb19lbmRwb2ludCBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9pZGNEYXRhU2VydmljZS5nZXRJZGVudGl0eVVzZXJEYXRhKHRoaXMuYXV0aFdlbGxLbm93bkVuZHBvaW50cy51c2VyaW5mb19lbmRwb2ludCwgdG9rZW4pO1xuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb2lkYy5zZWN1cml0eS51c2VyLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQ7SUFJSSxpQ0FDWSxlQUFnQyxFQUNoQyxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDbkIscUJBQTRDO1FBSHJELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ25CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFOekQsYUFBUSxHQUFRLEVBQUUsQ0FBQztJQU94QixDQUFDOzs7O0lBRUosOENBQVk7OztJQUFaO1FBQUEsaUJBRUM7UUFERyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQyxJQUFTLElBQUssT0FBQSxDQUFDLEtBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQXRCLENBQXNCLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7Ozs7SUFFRCw2Q0FBVzs7O0lBQVg7UUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixNQUFNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBRUQsNkNBQVc7Ozs7SUFBWCxVQUFZLEtBQVU7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7Ozs7SUFFTyxxREFBbUI7Ozs7SUFBM0I7O1lBQ1UsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUU7UUFFdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1lBRXpGLE1BQU0sS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDdEQ7O1lBRUssY0FBYyxHQUNoQixJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLGlCQUFpQjtRQUVwSCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUN2QixnSEFBZ0gsQ0FDbkgsQ0FBQztZQUNGLE1BQU0sS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7U0FDeEU7UUFFRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsSSxDQUFDOztnQkEvQ0osVUFBVTs7OztnQkFMRixlQUFlO2dCQUdmLGtCQUFrQjtnQkFEbEIsYUFBYTtnQkFEYixxQkFBcUI7O0lBb0Q5Qiw4QkFBQztDQUFBLEFBaERELElBZ0RDO1NBL0NZLHVCQUF1Qjs7Ozs7O0lBQ2hDLDJDQUEyQjs7Ozs7SUFHdkIsa0RBQXdDOzs7OztJQUN4QyxxREFBOEM7Ozs7O0lBQzlDLGdEQUFvQzs7Ozs7SUFDcEMsd0RBQTZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2lkY0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1zZXJ2aWNlcy9vaWRjLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUHJvdmlkZXIgfSBmcm9tICcuL2F1dGgtY29uZmlndXJhdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9vaWRjLmxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNTZWN1cml0eUNvbW1vbiB9IGZyb20gJy4vb2lkYy5zZWN1cml0eS5jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT2lkY1NlY3VyaXR5VXNlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgdXNlckRhdGE6IGFueSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgb2lkY0RhdGFTZXJ2aWNlOiBPaWRjRGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgb2lkY1NlY3VyaXR5Q29tbW9uOiBPaWRjU2VjdXJpdHlDb21tb24sXG4gICAgICAgIHByaXZhdGUgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uUHJvdmlkZXI6IENvbmZpZ3VyYXRpb25Qcm92aWRlclxuICAgICkge31cblxuICAgIGluaXRVc2VyRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SWRlbnRpdHlVc2VyRGF0YSgpLnBpcGUobWFwKChkYXRhOiBhbnkpID0+ICh0aGlzLnVzZXJEYXRhID0gZGF0YSkpKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyRGF0YSgpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMudXNlckRhdGEpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdVc2VyRGF0YSBpcyBub3Qgc2V0IScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlckRhdGE7XG4gICAgfVxuXG4gICAgc2V0VXNlckRhdGEodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJEYXRhID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJZGVudGl0eVVzZXJEYXRhKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5vaWRjU2VjdXJpdHlDb21tb24uZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvblByb3ZpZGVyLndlbGxLbm93bkVuZHBvaW50cykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ1dhcm5pbmcoJ2luaXQgY2hlY2sgc2Vzc2lvbjogYXV0aFdlbGxLbm93bkVuZHBvaW50cyBpcyB1bmRlZmluZWQnKTtcblxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYW5HZXRVc2VyRGF0YSA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMgJiYgdGhpcy5jb25maWd1cmF0aW9uUHJvdmlkZXIud2VsbEtub3duRW5kcG9pbnRzLnVzZXJpbmZvX2VuZHBvaW50O1xuXG4gICAgICAgIGlmICghY2FuR2V0VXNlckRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dFcnJvcihcbiAgICAgICAgICAgICAgICAnaW5pdCBjaGVjayBzZXNzaW9uOiBhdXRoV2VsbEtub3duRW5kcG9pbnRzLnVzZXJpbmZvX2VuZHBvaW50IGlzIHVuZGVmaW5lZDsgc2V0IGF1dG9fdXNlcmluZm8gPSBmYWxzZSBpbiBjb25maWcnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2F1dGhXZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vaWRjRGF0YVNlcnZpY2UuZ2V0SWRlbnRpdHlVc2VyRGF0YSh0aGlzLmNvbmZpZ3VyYXRpb25Qcm92aWRlci53ZWxsS25vd25FbmRwb2ludHMudXNlcmluZm9fZW5kcG9pbnQgfHwgJycsIHRva2VuKTtcbiAgICB9XG59XG4iXX0= |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export { AuthWellKnownEndpoints, AuthorizationResult, AuthorizationState, JwtKeys, JwtKey, ValidateStateResult, ValidationResult, OpenIDImplicitFlowConfiguration, AuthConfiguration, AuthModule, OidcConfigService, OidcSecurityService, OidcSecurityStorage, BrowserStorage, OidcSecurityValidation, TokenHelperService } from './lib/angular-auth-oidc-client'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlVQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLWF1dGgtb2lkYy1jbGllbnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQnO1xuXG4iXX0= | ||
export { AuthorizationResult, AuthorizationState, JwtKeys, JwtKey, ValidateStateResult, ValidationResult, AuthModule, TokenHelperService, OidcConfigService, OidcSecurityService, OidcSecurityStorage, BrowserStorage, OidcSecurityValidation } from './lib/angular-auth-oidc-client'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLHFQQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLWF1dGgtb2lkYy1jbGllbnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQnO1xuXG4iXX0= |
@@ -0,1 +1,2 @@ | ||
export * from './models/auth.configuration'; | ||
export * from './models/auth.well-known-endpoints'; | ||
@@ -7,4 +8,4 @@ export * from './models/authorization-result'; | ||
export * from './models/validation-result.enum'; | ||
export * from './modules/auth.configuration'; | ||
export * from './modules/auth.module'; | ||
export * from './services/oidc-token-helper.service'; | ||
export * from './services/oidc.security.config.service'; | ||
@@ -14,2 +15,1 @@ export * from './services/oidc.security.service'; | ||
export * from './services/oidc.security.validation'; | ||
export * from './services/oidc-token-helper.service'; |
@@ -1,12 +0,11 @@ | ||
export declare class AuthWellKnownEndpoints { | ||
issuer: string; | ||
jwks_uri: string; | ||
authorization_endpoint: string; | ||
token_endpoint: string; | ||
userinfo_endpoint: string; | ||
end_session_endpoint: string; | ||
check_session_iframe: string; | ||
revocation_endpoint: string; | ||
introspection_endpoint: string; | ||
setWellKnownEndpoints(data: any): void; | ||
export interface AuthWellKnownEndpoints { | ||
issuer?: string; | ||
jwks_uri?: string; | ||
authorization_endpoint?: string; | ||
token_endpoint?: string; | ||
userinfo_endpoint?: string; | ||
end_session_endpoint?: string; | ||
check_session_iframe?: string; | ||
revocation_endpoint?: string; | ||
introspection_endpoint?: string; | ||
} |
@@ -1,5 +0,4 @@ | ||
import { AuthWellKnownEndpoints } from '../models/auth.well-known-endpoints'; | ||
import { JwtKeys } from '../models/jwtkeys'; | ||
import { ValidateStateResult } from '../models/validate-state-result.model'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { TokenHelperService } from './oidc-token-helper.service'; | ||
@@ -10,3 +9,2 @@ import { LoggerService } from './oidc.logger.service'; | ||
export declare class StateValidationService { | ||
private authConfiguration; | ||
oidcSecurityCommon: OidcSecurityCommon; | ||
@@ -16,5 +14,4 @@ private oidcSecurityValidation; | ||
private loggerService; | ||
private authWellKnownEndpoints; | ||
constructor(authConfiguration: AuthConfiguration, oidcSecurityCommon: OidcSecurityCommon, oidcSecurityValidation: OidcSecurityValidation, tokenHelperService: TokenHelperService, loggerService: LoggerService); | ||
setupModule(authWellKnownEndpoints: AuthWellKnownEndpoints): void; | ||
private readonly configurationProvider; | ||
constructor(oidcSecurityCommon: OidcSecurityCommon, oidcSecurityValidation: OidcSecurityValidation, tokenHelperService: TokenHelperService, loggerService: LoggerService, configurationProvider: ConfigurationProvider); | ||
validateState(result: any, jwtKeys: JwtKeys): ValidateStateResult; | ||
@@ -21,0 +18,0 @@ private handleSuccessfulValidation; |
@@ -1,5 +0,5 @@ | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
export declare class LoggerService { | ||
private authConfiguration; | ||
constructor(authConfiguration: AuthConfiguration); | ||
private configurationProvider; | ||
constructor(configurationProvider: ConfigurationProvider); | ||
logError(message: any): void; | ||
@@ -6,0 +6,0 @@ logWarning(message: any): void; |
import { NgZone } from '@angular/core'; | ||
import { Observable } from 'rxjs'; | ||
import { AuthWellKnownEndpoints } from '../models/auth.well-known-endpoints'; | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { IFrameService } from './existing-iframe.service'; | ||
@@ -9,3 +8,2 @@ import { LoggerService } from './oidc.logger.service'; | ||
export declare class OidcSecurityCheckSession { | ||
private authConfiguration; | ||
private oidcSecurityCommon; | ||
@@ -15,5 +13,5 @@ private loggerService; | ||
private zone; | ||
private readonly configurationProvider; | ||
private sessionIframe; | ||
private iframeMessageEvent; | ||
private authWellKnownEndpoints; | ||
private scheduledHeartBeat; | ||
@@ -26,4 +24,3 @@ private lastIFrameRefresh; | ||
readonly onCheckSessionChanged: Observable<any>; | ||
constructor(authConfiguration: AuthConfiguration, oidcSecurityCommon: OidcSecurityCommon, loggerService: LoggerService, iFrameService: IFrameService, zone: NgZone); | ||
setupModule(authWellKnownEndpoints: AuthWellKnownEndpoints): void; | ||
constructor(oidcSecurityCommon: OidcSecurityCommon, loggerService: LoggerService, iFrameService: IFrameService, zone: NgZone, configurationProvider: ConfigurationProvider); | ||
private doesSessionExist; | ||
@@ -30,0 +27,0 @@ private init; |
import { HttpClient } from '@angular/common/http'; | ||
import { Observable } from 'rxjs'; | ||
export interface ConfigResult { | ||
authWellknownEndpoints: any; | ||
customConfig: any; | ||
} | ||
export declare class OidcConfigService { | ||
private readonly httpClient; | ||
private _onConfigurationLoaded; | ||
clientConfiguration: any; | ||
wellKnownEndpoints: any; | ||
readonly onConfigurationLoaded: Observable<boolean>; | ||
private configurationLoadedInternal; | ||
readonly onConfigurationLoaded: Observable<ConfigResult>; | ||
constructor(httpClient: HttpClient); | ||
load(configUrl: string): void; | ||
load_using_stsServer(stsServer: string): void; | ||
load_using_custom_stsServer(url: string): void; | ||
load(configUrl: string): Promise<boolean>; | ||
load_using_stsServer(stsServer: string): Promise<boolean>; | ||
load_using_custom_stsServer(url: string): Promise<boolean>; | ||
private loadUsingConfiguration; | ||
} |
@@ -6,5 +6,6 @@ import { HttpClient } from '@angular/common/http'; | ||
import { OidcDataService } from '../data-services/oidc-data.service'; | ||
import { OpenIdConfiguration } from '../models/auth.configuration'; | ||
import { AuthWellKnownEndpoints } from '../models/auth.well-known-endpoints'; | ||
import { AuthorizationResult } from '../models/authorization-result'; | ||
import { AuthConfiguration, OpenIDImplicitFlowConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { StateValidationService } from './oidc-security-state-validation.service'; | ||
@@ -21,3 +22,2 @@ import { TokenHelperService } from './oidc-token-helper.service'; | ||
private stateValidationService; | ||
private authConfiguration; | ||
private router; | ||
@@ -33,2 +33,3 @@ private oidcSecurityCheckSession; | ||
private readonly httpClient; | ||
private readonly configurationProvider; | ||
private _onModuleSetup; | ||
@@ -40,7 +41,6 @@ private _onCheckSessionChanged; | ||
readonly onCheckSessionChanged: Observable<boolean>; | ||
readonly onConfigurationChange: Observable<OpenIDImplicitFlowConfiguration>; | ||
readonly onConfigurationChange: Observable<OpenIdConfiguration>; | ||
checkSessionChanged: boolean; | ||
moduleSetup: boolean; | ||
private _isModuleSetup; | ||
private authWellKnownEndpoints; | ||
private _isAuthorized; | ||
@@ -53,4 +53,4 @@ private _isSetupAndAuthorized; | ||
private boundSilentRenewEvent; | ||
constructor(oidcDataService: OidcDataService, stateValidationService: StateValidationService, authConfiguration: AuthConfiguration, router: Router, oidcSecurityCheckSession: OidcSecurityCheckSession, oidcSecuritySilentRenew: OidcSecuritySilentRenew, oidcSecurityUserService: OidcSecurityUserService, oidcSecurityCommon: OidcSecurityCommon, oidcSecurityValidation: OidcSecurityValidation, tokenHelperService: TokenHelperService, loggerService: LoggerService, zone: NgZone, httpClient: HttpClient); | ||
setupModule(openIDImplicitFlowConfiguration: OpenIDImplicitFlowConfiguration, authWellKnownEndpoints: AuthWellKnownEndpoints): void; | ||
constructor(oidcDataService: OidcDataService, stateValidationService: StateValidationService, router: Router, oidcSecurityCheckSession: OidcSecurityCheckSession, oidcSecuritySilentRenew: OidcSecuritySilentRenew, oidcSecurityUserService: OidcSecurityUserService, oidcSecurityCommon: OidcSecurityCommon, oidcSecurityValidation: OidcSecurityValidation, tokenHelperService: TokenHelperService, loggerService: LoggerService, zone: NgZone, httpClient: HttpClient, configurationProvider: ConfigurationProvider); | ||
setupModule(openIdConfiguration: OpenIdConfiguration, authWellKnownEndpoints: AuthWellKnownEndpoints): void; | ||
getUserData(): Observable<any>; | ||
@@ -57,0 +57,0 @@ getIsModuleSetup(): Observable<boolean>; |
@@ -1,2 +0,2 @@ | ||
import { AuthConfiguration } from '../modules/auth.configuration'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
/** | ||
@@ -20,7 +20,7 @@ * Implement this class-interface to create a custom storage. | ||
export declare class BrowserStorage implements OidcSecurityStorage { | ||
private authConfiguration; | ||
private configProvider; | ||
private hasStorage; | ||
constructor(authConfiguration: AuthConfiguration); | ||
constructor(configProvider: ConfigurationProvider); | ||
read(key: string): any; | ||
write(key: string, value: any): void; | ||
} |
import { Observable } from 'rxjs'; | ||
import { OidcDataService } from '../data-services/oidc-data.service'; | ||
import { AuthWellKnownEndpoints } from '../models/auth.well-known-endpoints'; | ||
import { ConfigurationProvider } from './auth-configuration.provider'; | ||
import { LoggerService } from './oidc.logger.service'; | ||
@@ -10,6 +10,5 @@ import { OidcSecurityCommon } from './oidc.security.common'; | ||
private loggerService; | ||
private readonly configurationProvider; | ||
private userData; | ||
private authWellKnownEndpoints; | ||
constructor(oidcDataService: OidcDataService, oidcSecurityCommon: OidcSecurityCommon, loggerService: LoggerService); | ||
setupModule(authWellKnownEndpoints: AuthWellKnownEndpoints): void; | ||
constructor(oidcDataService: OidcDataService, oidcSecurityCommon: OidcSecurityCommon, loggerService: LoggerService, configurationProvider: ConfigurationProvider); | ||
initUserData(): Observable<any>; | ||
@@ -16,0 +15,0 @@ getUserData(): any; |
@@ -30,3 +30,3 @@ { | ||
"license": "MIT", | ||
"version": "9.0.8", | ||
"version": "10.0.0", | ||
"description": "An OpenID Connect Code Flow with PKCE,Implicit Flow client for Angular", | ||
@@ -33,0 +33,0 @@ "main": "bundles/angular-auth-oidc-client.umd.js", |
143
README.md
@@ -42,3 +42,3 @@ # Angular Lib for OpenID Connect Code Flow with PKCE and Implicit Flow | ||
```typescript | ||
"angular-auth-oidc-client": "^9.0.8" | ||
"angular-auth-oidc-client": "^10.0.0" | ||
``` | ||
@@ -67,9 +67,3 @@ | ||
import { RouterModule } from '@angular/router'; | ||
import { | ||
AuthModule, | ||
AuthWellKnownEndpoints, | ||
OidcConfigService, | ||
OidcSecurityService, | ||
OpenIDImplicitFlowConfiguration, | ||
} from 'angular-auth-oidc-client'; | ||
import { AuthModule, ConfigResult, OidcConfigService, OidcSecurityService, OpenIdConfiguration } from 'angular-auth-oidc-client'; | ||
import { AppComponent } from './app.component'; | ||
@@ -111,7 +105,19 @@ | ||
constructor(private oidcSecurityService: OidcSecurityService, private oidcConfigService: OidcConfigService) { | ||
this.oidcConfigService.onConfigurationLoaded.subscribe(() => { | ||
const oidcFlowConfig = new OpenIDImplicitFlowConfiguration(); | ||
//merge configuration loaded from assets/auth.clientConfiguration.json | ||
Object.assign(oidcFlowConfig, this.oidcConfigService.clientConfiguration); | ||
this.oidcSecurityService.setupModule(oidcFlowConfig, this.oidcConfigService.wellKnownEndpoints); | ||
this.oidcConfigService.onConfigurationLoaded.subscribe((configResult: ConfigResult) => { | ||
// Use the configResult to set the configurations | ||
const config: OpenIdConfiguration = { | ||
stsServer: configResult.customConfig.stsServer, | ||
redirect_url: 'https://localhost:4200', | ||
client_id: 'angularClient', | ||
scope: 'openid profile email', | ||
response_type: 'code', | ||
silent_renew: true, | ||
silent_renew_url: 'https://localhost:4200/silent-renew.html', | ||
log_console_debug_active: true, | ||
// all other properties you want to set | ||
}; | ||
this.oidcSecurityService.setupModule(config, configResult.authWellknownEndpoints); | ||
}); | ||
@@ -129,19 +135,20 @@ } | ||
{ | ||
"stsServer": "https://localhost:44318", | ||
"redirect_url": "https://localhost:44311", | ||
"client_id": "angularclient", | ||
"response_type": "code", | ||
"scope": "dataEventRecords securedFiles openid profile", | ||
"post_logout_redirect_uri": "https://localhost:44311", | ||
"start_checksession": true, | ||
"silent_renew": true, | ||
"silent_renew_url": "https://localhost:44311/silent-renew.html", | ||
"post_login_route": "/home", | ||
"forbidden_route": "/forbidden", | ||
"unauthorized_route": "/unauthorized", | ||
"log_console_warning_active": true, | ||
"log_console_debug_active": true, | ||
"max_id_token_iat_offset_allowed_in_seconds": 10, | ||
"stsServer": "https://localhost:44318", | ||
"redirect_url": "https://localhost:44311", | ||
"client_id": "angularclient", | ||
"response_type": "code", | ||
"scope": "dataEventRecords securedFiles openid profile", | ||
"post_logout_redirect_uri": "https://localhost:44311", | ||
"start_checksession": true, | ||
"silent_renew": true, | ||
"silent_renew_url": "https://localhost:44311/silent-renew.html", | ||
"post_login_route": "/home", | ||
"forbidden_route": "/forbidden", | ||
"unauthorized_route": "/unauthorized", | ||
"log_console_warning_active": true, | ||
"log_console_debug_active": true, | ||
"max_id_token_iat_offset_allowed_in_seconds": 10 | ||
} | ||
``` | ||
At present only the 'code' with PKCE, 'id_token token' or the 'id_token' flows are supported: | ||
@@ -151,3 +158,3 @@ | ||
>Note the configuration json must have a property stsServer for this to work. | ||
> Note the configuration json must have a property stsServer for this to work. | ||
@@ -159,38 +166,37 @@ ### Approach 2. `Configuration without APP_INITIALIZER` | ||
constructor(public oidcSecurityService: OidcSecurityService) { | ||
const config = new OpenIDImplicitFlowConfiguration(); | ||
const config: OpenIdConfiguration = { | ||
stsServer: 'https://localhost:44363', | ||
redirect_url: 'https://localhost:44363', | ||
// The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience. | ||
// The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience, or if it contains additional audiences not trusted by the Client. | ||
client_id: 'singleapp', | ||
response_type: 'code', // 'id_token token' Implicit Flow | ||
scope: 'dataEventRecords openid', | ||
post_logout_redirect_uri: 'https://localhost:44363/Unauthorized', | ||
start_checksession: false, | ||
silent_renew: true, | ||
silent_renew_url: 'https://localhost:44363/silent-renew.html', | ||
post_login_route: '/dataeventrecords', | ||
config.stsServer = 'https://localhost:44363'; | ||
config.redirect_url = 'https://localhost:44363'; | ||
// The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience. | ||
// The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience, or if it contains additional audiences not trusted by the Client. | ||
config.client_id = 'singleapp'; | ||
config.response_type = 'code'; // 'id_token token' Implicit Flow | ||
config.scope = 'dataEventRecords openid'; | ||
config.post_logout_redirect_uri = 'https://localhost:44363/Unauthorized'; | ||
config.start_checksession = false; | ||
config.silent_renew = true; | ||
config.silent_renew_url = 'https://localhost:44363/silent-renew.html'; | ||
config.post_login_route = '/dataeventrecords'; | ||
forbidden_route: '/Forbidden', | ||
// HTTP 401 | ||
unauthorized_route: '/Unauthorized', | ||
log_console_warning_active: true, | ||
log_console_debug_active: true, | ||
// id_token C8: The iat Claim can be used to reject tokens that were issued too far away from the current time, | ||
// limiting the amount of time that nonces need to be stored to prevent attacks.The acceptable range is Client specific. | ||
max_id_token_iat_offset_allowed_in_seconds: 10, | ||
}; | ||
config.forbidden_route = '/Forbidden'; | ||
// HTTP 401 | ||
config.unauthorized_route = '/Unauthorized'; | ||
config.log_console_warning_active = true; | ||
config.log_console_debug_active = true; | ||
// id_token C8: The iat Claim can be used to reject tokens that were issued too far away from the current time, | ||
// limiting the amount of time that nonces need to be stored to prevent attacks.The acceptable range is Client specific. | ||
config.max_id_token_iat_offset_allowed_in_seconds = 10; | ||
const authWellKnownEndpoints: AuthWellKnownEndpoints = { | ||
issuer: 'https://localhost:44363/.well-known/openid-configuration/jwks', | ||
authorization_endpoint: 'https://localhost:44363/connect/authorize', | ||
token_endpoint: 'https://localhost:44363/connect/token', | ||
userinfo_endpoint: 'https://localhost:44363/connect/userinfo', | ||
end_session_endpoint: 'https://localhost:44363/connect/endsession', | ||
check_session_iframe: 'https://localhost:44363/connect/checksession', | ||
revocation_endpoint: 'https://localhost:44363/connect/revocation', | ||
introspection_endpoint: 'https://localhost:44363/connect/introspect', | ||
}; | ||
const authWellKnownEndpoints = new AuthWellKnownEndpoints(); | ||
authWellKnownEndpoints.issuer = 'https://localhost:44363'; | ||
authWellKnownEndpoints.jwks_uri = 'https://localhost:44363/.well-known/openid-configuration/jwks'; | ||
authWellKnownEndpoints.authorization_endpoint = 'https://localhost:44363/connect/authorize'; | ||
authWellKnownEndpoints.token_endpoint = 'https://localhost:44363/connect/token'; | ||
authWellKnownEndpoints.userinfo_endpoint = 'https://localhost:44363/connect/userinfo'; | ||
authWellKnownEndpoints.end_session_endpoint = 'https://localhost:44363/connect/endsession'; | ||
authWellKnownEndpoints.check_session_iframe = 'https://localhost:44363/connect/checksession'; | ||
authWellKnownEndpoints.revocation_endpoint = 'https://localhost:44363/connect/revocation'; | ||
authWellKnownEndpoints.introspection_endpoint = 'https://localhost:44363/connect/introspect'; | ||
this.oidcSecurityService.setupModule(config, authWellKnownEndpoints); | ||
@@ -214,10 +220,10 @@ } | ||
## Usage | ||
### Code Flow with PKCE | ||
> It is recomended flow in SPA applications, see [SECURELY USING THE OIDC AUTHORIZATION CODE FLOW AND A PUBLIC CLIENT WITH SINGLE PAGE APPLICATIONS](https://medium.com/@robert.broeckelmann/securely-using-the-oidc-authorization-code-flow-and-a-public-client-with-single-page-applications-55e0a648ab3a). | ||
> | ||
> Not all security service providers and servers support it yet. | ||
> It is recomended flow in SPA applications, see [SECURELY USING THE OIDC AUTHORIZATION CODE FLOW AND A PUBLIC CLIENT WITH SINGLE PAGE APPLICATIONS](https://medium.com/@robert.broeckelmann/securely-using-the-oidc-authorization-code-flow-and-a-public-client-with-single-page-applications-55e0a648ab3a). | ||
> | ||
> Not all security service providers and servers support it yet. | ||
Create the login, logout component and use the oidcSecurityService | ||
@@ -289,3 +295,2 @@ | ||
And a simple template for the component. | ||
@@ -331,4 +336,2 @@ | ||
### Silent Renew Angular-CLI | ||
@@ -400,4 +403,2 @@ | ||
## Custom Storage | ||
@@ -404,0 +405,0 @@ |
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 too big to display
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 too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
95
541
2049503
1
20129