{"version":3,"file":"ClientAuthError.js","sources":["../../src/error/ClientAuthError.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const ClientAuthErrorMessage = {\n clientInfoDecodingError: {\n code: \"client_info_decoding_error\",\n desc: \"The client info could not be parsed/decoded correctly. Please review the trace to determine the root cause.\"\n },\n clientInfoEmptyError: {\n code: \"client_info_empty_error\",\n desc: \"The client info was empty. Please review the trace to determine the root cause.\"\n },\n tokenParsingError: {\n code: \"token_parsing_error\",\n desc: \"Token cannot be parsed. Please review stack trace to determine root cause.\"\n },\n nullOrEmptyToken: {\n code: \"null_or_empty_token\",\n desc: \"The token is null or empty. Please review the trace to determine the root cause.\"\n },\n endpointResolutionError: {\n code: \"endpoints_resolution_error\",\n desc: \"Error: could not resolve endpoints. Please check network and try again.\"\n },\n networkError: {\n code: \"network_error\",\n desc: \"Network request failed. Please check network trace to determine root cause.\"\n },\n unableToGetOpenidConfigError: {\n code: \"openid_config_error\",\n desc: \"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.\"\n },\n hashNotDeserialized: {\n code: \"hash_not_deserialized\",\n desc: \"The hash parameters could not be deserialized. Please review the trace to determine the root cause.\"\n },\n blankGuidGenerated: {\n code: \"blank_guid_generated\",\n desc: \"The guid generated was blank. Please review the trace to determine the root cause.\"\n },\n invalidStateError: {\n code: \"invalid_state\",\n desc: \"State was not the expected format. Please check the logs to determine whether the request was sent using ProtocolUtils.setRequestState().\"\n },\n stateMismatchError: {\n code: \"state_mismatch\",\n desc: \"State mismatch error. Please check your network. Continued requests may cause cache overflow.\"\n },\n stateNotFoundError: {\n code: \"state_not_found\",\n desc: \"State not found\"\n },\n nonceMismatchError: {\n code: \"nonce_mismatch\",\n desc: \"Nonce mismatch error. This may be caused by a race condition in concurrent requests.\"\n },\n nonceNotFoundError: {\n code: \"nonce_not_found\",\n desc: \"nonce not found\"\n },\n authTimeNotFoundError: {\n code: \"auth_time_not_found\",\n desc: \"Max Age was requested and the ID token is missing the auth_time variable.\" +\n \" auth_time is an optional claim and is not enabled by default - it must be enabled.\" +\n \" See https://aka.ms/msaljs/optional-claims for more information.\"\n },\n maxAgeTranspiredError: {\n code: \"max_age_transpired\",\n desc: \"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.\"\n },\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No tokens were found for the given scopes, and no authorization code was passed to acquireToken. You must retrieve an authorization code before making a call to acquireToken().\"\n },\n multipleMatchingTokens: {\n code: \"multiple_matching_tokens\",\n desc: \"The cache contains multiple tokens satisfying the requirements. \" +\n \"Call AcquireToken again providing more requirements such as authority or account.\"\n },\n multipleMatchingAccounts: {\n code: \"multiple_matching_accounts\",\n desc: \"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account\"\n },\n multipleMatchingAppMetadata: {\n code: \"multiple_matching_appMetadata\",\n desc: \"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata\"\n },\n tokenRequestCannotBeMade: {\n code: \"request_cannot_be_made\",\n desc: \"Token request cannot be made without authorization code or refresh token.\"\n },\n appendEmptyScopeError: {\n code: \"cannot_append_empty_scope\",\n desc: \"Cannot append null or empty scope to ScopeSet. Please check the stack trace for more info.\"\n },\n removeEmptyScopeError: {\n code: \"cannot_remove_empty_scope\",\n desc: \"Cannot remove null or empty scope from ScopeSet. Please check the stack trace for more info.\"\n },\n appendScopeSetError: {\n code: \"cannot_append_scopeset\",\n desc: \"Cannot append ScopeSet due to error.\"\n },\n emptyInputScopeSetError: {\n code: \"empty_input_scopeset\",\n desc: \"Empty input ScopeSet cannot be processed.\"\n },\n DeviceCodePollingCancelled: {\n code: \"device_code_polling_cancelled\",\n desc: \"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.\"\n },\n DeviceCodeExpired: {\n code: \"device_code_expired\",\n desc: \"Device code is expired.\"\n },\n DeviceCodeUnknownError: {\n code: \"device_code_unknown_error\",\n desc: \"Device code stopped polling for unknown reasons.\"\n },\n NoAccountInSilentRequest: {\n code: \"no_account_in_silent_request\",\n desc: \"Please pass an account object, silent flow is not supported without account information\"\n },\n invalidCacheRecord: {\n code: \"invalid_cache_record\",\n desc: \"Cache record object was null or undefined.\"\n },\n invalidCacheEnvironment: {\n code: \"invalid_cache_environment\",\n desc: \"Invalid environment when attempting to create cache entry\"\n },\n noAccountFound: {\n code: \"no_account_found\",\n desc: \"No account found in cache for given key.\"\n },\n CachePluginError: {\n code: \"no cache plugin set on CacheManager\",\n desc: \"ICachePlugin needs to be set before using readFromStorage or writeFromStorage\"\n },\n noCryptoObj: {\n code: \"no_crypto_object\",\n desc: \"No crypto object detected. This is required for the following operation: \"\n },\n invalidCacheType: {\n code: \"invalid_cache_type\",\n desc: \"Invalid cache type\"\n },\n unexpectedAccountType: {\n code: \"unexpected_account_type\",\n desc: \"Unexpected account type.\"\n },\n unexpectedCredentialType: {\n code: \"unexpected_credential_type\",\n desc: \"Unexpected credential type.\"\n },\n invalidAssertion: {\n code: \"invalid_assertion\",\n desc: \"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515\"\n },\n invalidClientCredential: {\n code: \"invalid_client_credential\",\n desc: \"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential\"\n },\n tokenRefreshRequired: {\n code: \"token_refresh_required\",\n desc: \"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.\"\n },\n userTimeoutReached: {\n code: \"user_timeout_reached\",\n desc: \"User defined timeout for device code polling reached\",\n },\n tokenClaimsRequired: {\n code: \"token_claims_cnf_required_for_signedjwt\",\n desc: \"Cannot generate a POP jwt if the token_claims are not populated\"\n },\n noAuthorizationCodeFromServer: {\n code: \"authorization_code_missing_from_server_response\",\n desc: \"Server response does not contain an authorization code to proceed\"\n },\n noAzureRegionDetected: {\n code: \"no_azure_region_detected\",\n desc: \"No azure region was detected and no fallback was made available\"\n },\n accessTokenEntityNullError: {\n code: \"access_token_entity_null\",\n desc: \"Access token entity is null, please check logs and cache to ensure a valid access token is present.\"\n },\n bindingKeyNotRemovedError: {\n code: \"binding_key_not_removed\",\n desc: \"Could not remove the credential's binding key from storage.\"\n },\n logoutNotSupported: {\n code: \"end_session_endpoint_not_supported\",\n desc: \"Provided authority does not support logout.\"\n },\n keyIdMissing: {\n code: \"key_id_missing\",\n desc: \"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.\"\n }\n};\n\n/**\n * Error thrown when there is an error in the client code running on the browser.\n */\nexport class ClientAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"ClientAuthError\";\n\n Object.setPrototypeOf(this, ClientAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when client info object doesn't decode correctly.\n * @param caughtError\n */\n static createClientInfoDecodingError(caughtError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoDecodingError.code,\n `${ClientAuthErrorMessage.clientInfoDecodingError.desc} Failed with error: ${caughtError}`);\n }\n\n /**\n * Creates an error thrown if the client info is empty.\n * @param rawClientInfo\n */\n static createClientInfoEmptyError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoEmptyError.code,\n `${ClientAuthErrorMessage.clientInfoEmptyError.desc}`);\n }\n\n /**\n * Creates an error thrown when the id token extraction errors out.\n * @param err\n */\n static createTokenParsingError(caughtExtractionError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenParsingError.code,\n `${ClientAuthErrorMessage.tokenParsingError.desc} Failed with error: ${caughtExtractionError}`);\n }\n\n /**\n * Creates an error thrown when the id token string is null or empty.\n * @param invalidRawTokenString\n */\n static createTokenNullOrEmptyError(invalidRawTokenString: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nullOrEmptyToken.code,\n `${ClientAuthErrorMessage.nullOrEmptyToken.desc} Raw Token Value: ${invalidRawTokenString}`);\n }\n\n /**\n * Creates an error thrown when the endpoint discovery doesn't complete correctly.\n */\n static createEndpointDiscoveryIncompleteError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.endpointResolutionError.code,\n `${ClientAuthErrorMessage.endpointResolutionError.desc} Detail: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the fetch client throws\n */\n static createNetworkError(endpoint: string, errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.networkError.code,\n `${ClientAuthErrorMessage.networkError.desc} | Fetch client threw: ${errDetail} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Creates an error thrown when the openid-configuration endpoint cannot be reached or does not contain the required data\n */\n static createUnableToGetOpenidConfigError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unableToGetOpenidConfigError.code,\n `${ClientAuthErrorMessage.unableToGetOpenidConfigError.desc} Attempted to retrieve endpoints from: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the hash cannot be deserialized.\n * @param hashParamObj\n */\n static createHashNotDeserializedError(hashParamObj: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.hashNotDeserialized.code,\n `${ClientAuthErrorMessage.hashNotDeserialized.desc} Given Object: ${hashParamObj}`);\n }\n\n /**\n * Creates an error thrown when the state cannot be parsed.\n * @param invalidState\n */\n static createInvalidStateError(invalidState: string, errorString?: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidStateError.code,\n `${ClientAuthErrorMessage.invalidStateError.desc} Invalid State: ${invalidState}, Root Err: ${errorString}`);\n }\n\n /**\n * Creates an error thrown when two states do not match.\n */\n static createStateMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateMismatchError.code,\n ClientAuthErrorMessage.stateMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when the state is not present\n * @param missingState\n */\n static createStateNotFoundError(missingState: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateNotFoundError.code,\n `${ClientAuthErrorMessage.stateNotFoundError.desc}: ${missingState}`);\n }\n\n /**\n * Creates an error thrown when the nonce does not match.\n */\n static createNonceMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceMismatchError.code,\n ClientAuthErrorMessage.nonceMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when max_age was provided in the request, but auth_time is not in the token claims\n * @param missingNonce\n */\n static createAuthTimeNotFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.authTimeNotFoundError.code,\n ClientAuthErrorMessage.authTimeNotFoundError.desc);\n }\n\n /**\n * Creates an error thrown when too much time has elapsed since the last end-user authentication\n */\n static createMaxAgeTranspiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.maxAgeTranspiredError.code,\n ClientAuthErrorMessage.maxAgeTranspiredError.desc);\n }\n\n /**\n * Creates an error thrown when the mnonce is not present\n * @param missingNonce\n */\n static createNonceNotFoundError(missingNonce: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceNotFoundError.code,\n `${ClientAuthErrorMessage.nonceNotFoundError.desc}: ${missingNonce}`);\n }\n\n /**\n * Throws error when multiple tokens are in cache.\n */\n static createMultipleMatchingTokensInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingTokens.code,\n `${ClientAuthErrorMessage.multipleMatchingTokens.desc}.`);\n }\n\n /**\n * Throws error when multiple accounts are in cache for the given params\n */\n static createMultipleMatchingAccountsInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAccounts.code,\n ClientAuthErrorMessage.multipleMatchingAccounts.desc);\n }\n\n /**\n * Throws error when multiple appMetada are in cache for the given clientId.\n */\n static createMultipleMatchingAppMetadataInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAppMetadata.code,\n ClientAuthErrorMessage.multipleMatchingAppMetadata.desc);\n }\n\n /**\n * Throws error when no auth code or refresh token is given to ServerTokenRequestParameters.\n */\n static createTokenRequestCannotBeMadeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRequestCannotBeMade.code, ClientAuthErrorMessage.tokenRequestCannotBeMade.desc);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createAppendEmptyScopeToSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendEmptyScopeError.code, `${ClientAuthErrorMessage.appendEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createRemoveEmptyScopeFromSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.removeEmptyScopeError.code, `${ClientAuthErrorMessage.removeEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append null or empty ScopeSet.\n * @param appendError\n */\n static createAppendScopeSetError(appendError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendScopeSetError.code, `${ClientAuthErrorMessage.appendScopeSetError.desc} Detail Error: ${appendError}`);\n }\n\n /**\n * Throws error if ScopeSet is null or undefined.\n * @param givenScopeSet\n */\n static createEmptyInputScopeSetError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.emptyInputScopeSetError.code, `${ClientAuthErrorMessage.emptyInputScopeSetError.desc}`);\n }\n\n /**\n * Throws error if user sets CancellationToken.cancel = true during polling of token endpoint during device code flow\n */\n static createDeviceCodeCancelledError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodePollingCancelled.code, `${ClientAuthErrorMessage.DeviceCodePollingCancelled.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeExpiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeExpired.code, `${ClientAuthErrorMessage.DeviceCodeExpired.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeUnknownError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeUnknownError.code, `${ClientAuthErrorMessage.DeviceCodeUnknownError.desc}`);\n }\n\n /**\n * Throws error when silent requests are made without an account object\n */\n static createNoAccountInSilentRequestError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.NoAccountInSilentRequest.code, `${ClientAuthErrorMessage.NoAccountInSilentRequest.desc}`);\n }\n\n /**\n * Throws error when cache record is null or undefined.\n */\n static createNullOrUndefinedCacheRecord(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheRecord.code, ClientAuthErrorMessage.invalidCacheRecord.desc);\n }\n\n /**\n * Throws error when provided environment is not part of the CloudDiscoveryMetadata object\n */\n static createInvalidCacheEnvironmentError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheEnvironment.code, ClientAuthErrorMessage.invalidCacheEnvironment.desc);\n }\n\n /**\n * Throws error when account is not found in cache.\n */\n static createNoAccountFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAccountFound.code, ClientAuthErrorMessage.noAccountFound.desc);\n }\n\n /**\n * Throws error if ICachePlugin not set on CacheManager.\n */\n static createCachePluginError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.CachePluginError.code, `${ClientAuthErrorMessage.CachePluginError.desc}`);\n }\n\n /**\n * Throws error if crypto object not found.\n * @param operationName\n */\n static createNoCryptoObjectError(operationName: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noCryptoObj.code, `${ClientAuthErrorMessage.noCryptoObj.desc}${operationName}`);\n }\n\n /**\n * Throws error if cache type is invalid.\n */\n static createInvalidCacheTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheType.code, `${ClientAuthErrorMessage.invalidCacheType.desc}`);\n }\n\n /**\n * Throws error if unexpected account type.\n */\n static createUnexpectedAccountTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedAccountType.code, `${ClientAuthErrorMessage.unexpectedAccountType.desc}`);\n }\n\n /**\n * Throws error if unexpected credential type.\n */\n static createUnexpectedCredentialTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedCredentialType.code, `${ClientAuthErrorMessage.unexpectedCredentialType.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidAssertionError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidAssertion.code, `${ClientAuthErrorMessage.invalidAssertion.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidCredentialError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidClientCredential.code, `${ClientAuthErrorMessage.invalidClientCredential.desc}`);\n }\n\n /**\n * Throws error if token cannot be retrieved from cache due to refresh being required.\n */\n static createRefreshRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRefreshRequired.code, ClientAuthErrorMessage.tokenRefreshRequired.desc);\n }\n\n /**\n * Throws error if the user defined timeout is reached.\n */\n static createUserTimeoutReachedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.userTimeoutReached.code, ClientAuthErrorMessage.userTimeoutReached.desc);\n }\n\n /*\n * Throws error if token claims are not populated for a signed jwt generation\n */\n static createTokenClaimsRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenClaimsRequired.code, ClientAuthErrorMessage.tokenClaimsRequired.desc);\n }\n\n /**\n * Throws error when the authorization code is missing from the server response\n */\n static createNoAuthCodeInServerResponseError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAuthorizationCodeFromServer.code, ClientAuthErrorMessage.noAuthorizationCodeFromServer.desc);\n }\n\n static createBindingKeyNotRemovedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.bindingKeyNotRemovedError.code, ClientAuthErrorMessage.bindingKeyNotRemovedError.desc);\n }\n\n /**\n * Thrown when logout is attempted for an authority that doesnt have an end_session_endpoint\n */\n static createLogoutNotSupportedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.logoutNotSupported.code, ClientAuthErrorMessage.logoutNotSupported.desc);\n }\n\n /**\n * Create an error when kid attribute is missing from a PoP token's cache record\n */\n static createKeyIdMissingError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.keyIdMissing.code, ClientAuthErrorMessage.keyIdMissing.desc);\n }\n}\n"],"names":[],"mappings":"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"}