UNPKG

@azure/msal-common

Version:
76 lines (73 loc) 3 kB
/*! @azure/msal-common v16.6.2 2026-05-19 */ 'use strict'; import { AuthError } from './AuthError.mjs'; import { interactionRequired, consentRequired, loginRequired, badToken, uxNotAllowed, interruptedUser } from './InteractionRequiredAuthErrorCodes.mjs'; import * as InteractionRequiredAuthErrorCodes from './InteractionRequiredAuthErrorCodes.mjs'; export { InteractionRequiredAuthErrorCodes }; /* * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ /** * InteractionRequiredServerErrorMessage contains string constants used by error codes and messages returned by the server indicating interaction is required */ const InteractionRequiredServerErrorMessage = [ interactionRequired, consentRequired, loginRequired, badToken, uxNotAllowed, interruptedUser, ]; const InteractionRequiredAuthSubErrorMessage = [ "message_only", "additional_action", "basic_action", "user_password_expired", "consent_required", "bad_token", "ux_not_allowed", "interrupted_user", ]; /** * Error thrown when user interaction is required. */ class InteractionRequiredAuthError extends AuthError { constructor(errorCode, errorMessage, subError, timestamp, traceId, correlationId, claims, errorNo) { super(errorCode, errorMessage, subError); Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype); this.timestamp = timestamp || ""; this.traceId = traceId || ""; this.correlationId = correlationId || ""; this.claims = claims || ""; this.name = "InteractionRequiredAuthError"; this.errorNo = errorNo; } } /** * Helper function used to determine if an error thrown by the server requires interaction to resolve * @param errorCode * @param errorString * @param subError */ function isInteractionRequiredError(errorCode, errorString, subError) { const isInteractionRequiredErrorCode = !!errorCode && InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1; const isInteractionRequiredSubError = !!subError && InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1; const isInteractionRequiredErrorDesc = !!errorString && InteractionRequiredServerErrorMessage.some((irErrorCode) => { return errorString.indexOf(irErrorCode) > -1; }); return (isInteractionRequiredErrorCode || isInteractionRequiredErrorDesc || isInteractionRequiredSubError); } /** * Creates an InteractionRequiredAuthError */ function createInteractionRequiredAuthError(errorCode, errorMessage) { return new InteractionRequiredAuthError(errorCode, errorMessage); } export { InteractionRequiredAuthError, InteractionRequiredAuthSubErrorMessage, InteractionRequiredServerErrorMessage, createInteractionRequiredAuthError, isInteractionRequiredError }; //# sourceMappingURL=InteractionRequiredAuthError.mjs.map