Estructura inicial del proyecto
This commit is contained in:
96
backend/node_modules/@azure/msal-browser/dist/interaction_handler/InteractionHandler.mjs
generated
vendored
Normal file
96
backend/node_modules/@azure/msal-browser/dist/interaction_handler/InteractionHandler.mjs
generated
vendored
Normal file
@ -0,0 +1,96 @@
|
||||
/*! @azure/msal-browser v5.11.0 2026-05-19 */
|
||||
'use strict';
|
||||
import { AuthorizeProtocol, ServerError, invokeAsync, PerformanceEvents, CcsCredentialType } from '@azure/msal-common/browser';
|
||||
import { AuthClientAcquireToken } from '../telemetry/BrowserPerformanceEvents.mjs';
|
||||
import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
|
||||
import { userCancelled } from '../error/BrowserAuthErrorCodes.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* Abstract class which defines operations for a browser interaction handling class.
|
||||
*/
|
||||
class InteractionHandler {
|
||||
constructor(authCodeModule, storageImpl, authCodeRequest, logger, performanceClient) {
|
||||
this.authModule = authCodeModule;
|
||||
this.browserStorage = storageImpl;
|
||||
this.authCodeRequest = authCodeRequest;
|
||||
this.logger = logger;
|
||||
this.performanceClient = performanceClient;
|
||||
}
|
||||
/**
|
||||
* Function to handle response parameters from hash.
|
||||
* @param locationHash
|
||||
*/
|
||||
async handleCodeResponse(response, request, apiId) {
|
||||
let authCodeResponse;
|
||||
try {
|
||||
authCodeResponse = AuthorizeProtocol.getAuthorizationCodePayload(response, request.state);
|
||||
}
|
||||
catch (e) {
|
||||
if (e instanceof ServerError &&
|
||||
e.subError === userCancelled) {
|
||||
// Translate server error caused by user closing native prompt to corresponding first class MSAL error
|
||||
throw createBrowserAuthError(userCancelled);
|
||||
}
|
||||
else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
return invokeAsync(this.handleCodeResponseFromServer.bind(this), PerformanceEvents.HandleCodeResponseFromServer, this.logger, this.performanceClient, request.correlationId)(authCodeResponse, request, apiId);
|
||||
}
|
||||
/**
|
||||
* Process auth code response from AAD
|
||||
* @param authCodeResponse
|
||||
* @param request
|
||||
* @param validateNonce
|
||||
* @returns
|
||||
*/
|
||||
async handleCodeResponseFromServer(authCodeResponse, request, apiId, validateNonce = true) {
|
||||
this.logger.trace("0mf2hb", request.correlationId);
|
||||
// Assign code to request
|
||||
this.authCodeRequest.code = authCodeResponse.code;
|
||||
// Nonce validation not needed when redirect not involved (e.g. hybrid spa, renewing token via rt)
|
||||
if (validateNonce) {
|
||||
// TODO: Assigning "response nonce" to "request nonce" is confusing. Refactor the function doing validation to accept request nonce directly
|
||||
authCodeResponse.nonce = request.nonce || undefined;
|
||||
}
|
||||
authCodeResponse.state = request.state;
|
||||
// Add CCS parameters if available
|
||||
if (authCodeResponse.client_info) {
|
||||
this.authCodeRequest.clientInfo = authCodeResponse.client_info;
|
||||
}
|
||||
else {
|
||||
const ccsCred = this.createCcsCredentials(request);
|
||||
if (ccsCred) {
|
||||
this.authCodeRequest.ccsCredential = ccsCred;
|
||||
}
|
||||
}
|
||||
// Acquire token with retrieved code.
|
||||
const tokenResponse = (await invokeAsync(this.authModule.acquireToken.bind(this.authModule), AuthClientAcquireToken, this.logger, this.performanceClient, request.correlationId)(this.authCodeRequest, apiId, authCodeResponse));
|
||||
return tokenResponse;
|
||||
}
|
||||
/**
|
||||
* Build ccs creds if available
|
||||
*/
|
||||
createCcsCredentials(request) {
|
||||
if (request.account) {
|
||||
return {
|
||||
credential: request.account.homeAccountId,
|
||||
type: CcsCredentialType.HOME_ACCOUNT_ID,
|
||||
};
|
||||
}
|
||||
else if (request.loginHint) {
|
||||
return {
|
||||
credential: request.loginHint,
|
||||
type: CcsCredentialType.UPN,
|
||||
};
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export { InteractionHandler };
|
||||
//# sourceMappingURL=InteractionHandler.mjs.map
|
||||
1
backend/node_modules/@azure/msal-browser/dist/interaction_handler/InteractionHandler.mjs.map
generated
vendored
Normal file
1
backend/node_modules/@azure/msal-browser/dist/interaction_handler/InteractionHandler.mjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"InteractionHandler.mjs","sources":["../../src/interaction_handler/InteractionHandler.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.userCancelled","BrowserPerformanceEvents.AuthClientAcquireToken"],"mappings":"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"}
|
||||
85
backend/node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.mjs
generated
vendored
Normal file
85
backend/node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.mjs
generated
vendored
Normal file
@ -0,0 +1,85 @@
|
||||
/*! @azure/msal-browser v5.11.0 2026-05-19 */
|
||||
'use strict';
|
||||
import { invoke } from '@azure/msal-common/browser';
|
||||
import { SilentHandlerLoadFrameSync } from '../telemetry/BrowserPerformanceEvents.mjs';
|
||||
import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
|
||||
import { getEARForm, getCodeForm } from '../protocol/Authorize.mjs';
|
||||
import { emptyNavigateUri } from '../error/BrowserAuthErrorCodes.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* Creates a hidden iframe to given URL using user-requested scopes as an id.
|
||||
* @param urlNavigate
|
||||
* @param userRequestScopes
|
||||
*/
|
||||
async function initiateCodeRequest(requestUrl, performanceClient, logger, correlationId) {
|
||||
if (!requestUrl) {
|
||||
// Throw error if request URL is empty.
|
||||
logger.info("1l7hyp", correlationId);
|
||||
throw createBrowserAuthError(emptyNavigateUri);
|
||||
}
|
||||
return invoke(loadFrameSync, SilentHandlerLoadFrameSync, logger, performanceClient, correlationId)(requestUrl);
|
||||
}
|
||||
async function initiateCodeFlowWithPost(config, authority, request, logger, performanceClient) {
|
||||
const frame = createHiddenIframe();
|
||||
if (!frame.contentDocument) {
|
||||
throw "No document associated with iframe!";
|
||||
}
|
||||
const form = await getCodeForm(frame.contentDocument, config, authority, request, logger, performanceClient);
|
||||
form.submit();
|
||||
return frame;
|
||||
}
|
||||
async function initiateEarRequest(config, authority, request, logger, performanceClient) {
|
||||
const frame = createHiddenIframe();
|
||||
if (!frame.contentDocument) {
|
||||
throw "No document associated with iframe!";
|
||||
}
|
||||
const form = await getEARForm(frame.contentDocument, config, authority, request, logger, performanceClient);
|
||||
form.submit();
|
||||
return frame;
|
||||
}
|
||||
/**
|
||||
* @hidden
|
||||
* Loads the iframe synchronously when the navigateTimeFrame is set to `0`
|
||||
* @param urlNavigate
|
||||
* @param frameName
|
||||
* @param logger
|
||||
*/
|
||||
function loadFrameSync(urlNavigate) {
|
||||
const frameHandle = createHiddenIframe();
|
||||
frameHandle.src = urlNavigate;
|
||||
return frameHandle;
|
||||
}
|
||||
/**
|
||||
* @hidden
|
||||
* Creates a new hidden iframe or gets an existing one for silent token renewal.
|
||||
* @ignore
|
||||
*/
|
||||
function createHiddenIframe() {
|
||||
const authFrame = document.createElement("iframe");
|
||||
authFrame.className = "msalSilentIframe";
|
||||
authFrame.style.visibility = "hidden";
|
||||
authFrame.style.position = "absolute";
|
||||
authFrame.style.width = authFrame.style.height = "0";
|
||||
authFrame.style.border = "0";
|
||||
authFrame.setAttribute("sandbox", "allow-scripts allow-same-origin allow-forms");
|
||||
authFrame.setAttribute("allow", "local-network-access *");
|
||||
document.body.appendChild(authFrame);
|
||||
return authFrame;
|
||||
}
|
||||
/**
|
||||
* @hidden
|
||||
* Removes a hidden iframe from `document.body` if it is a direct child.
|
||||
* @param iframe - The iframe element to remove.
|
||||
*/
|
||||
function removeHiddenIframe(iframe) {
|
||||
if (document.body === iframe.parentNode) {
|
||||
document.body.removeChild(iframe);
|
||||
}
|
||||
}
|
||||
|
||||
export { initiateCodeFlowWithPost, initiateCodeRequest, initiateEarRequest, removeHiddenIframe };
|
||||
//# sourceMappingURL=SilentHandler.mjs.map
|
||||
1
backend/node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.mjs.map
generated
vendored
Normal file
1
backend/node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.mjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"SilentHandler.mjs","sources":["../../src/interaction_handler/SilentHandler.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.emptyNavigateUri","BrowserPerformanceEvents.SilentHandlerLoadFrameSync"],"mappings":"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"}
|
||||
Reference in New Issue
Block a user