Commit iniziale
This commit is contained in:
36
node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.d.ts
generated
vendored
Normal file
36
node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.d.ts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { TokenRequest } from "../TokenRequest.js";
|
||||
import { AccountInfo as NaaAccountInfo } from "../AccountInfo.js";
|
||||
import { RedirectRequest } from "../../request/RedirectRequest.js";
|
||||
import { PopupRequest } from "../../request/PopupRequest.js";
|
||||
import { AccountInfo as MsalAccountInfo, AuthError, ClientAuthError, ClientConfigurationError, InteractionRequiredAuthError, ServerError, ICrypto, Logger, TokenClaims, AccountInfo, IdTokenEntity, AccessTokenEntity } from "@azure/msal-common/browser";
|
||||
import { AuthenticationResult } from "../../response/AuthenticationResult.js";
|
||||
import { AuthResult } from "../AuthResult.js";
|
||||
import { SsoSilentRequest } from "../../request/SsoSilentRequest.js";
|
||||
import { SilentRequest } from "../../request/SilentRequest.js";
|
||||
export declare class NestedAppAuthAdapter {
|
||||
protected crypto: ICrypto;
|
||||
protected logger: Logger;
|
||||
protected clientId: string;
|
||||
protected clientCapabilities: string[];
|
||||
constructor(clientId: string, clientCapabilities: string[], crypto: ICrypto, logger: Logger);
|
||||
toNaaTokenRequest(request: PopupRequest | RedirectRequest | SilentRequest | SsoSilentRequest): TokenRequest;
|
||||
fromNaaTokenResponse(request: TokenRequest, response: AuthResult, reqTimestamp: number): AuthenticationResult;
|
||||
fromNaaAccountInfo(fromAccount: NaaAccountInfo, idToken?: string, idTokenClaims?: TokenClaims): MsalAccountInfo;
|
||||
/**
|
||||
*
|
||||
* @param error BridgeError
|
||||
* @returns AuthError, ClientAuthError, ClientConfigurationError, ServerError, InteractionRequiredError
|
||||
*/
|
||||
fromBridgeError(error: unknown): AuthError | ClientAuthError | ClientConfigurationError | ServerError | InteractionRequiredAuthError;
|
||||
/**
|
||||
* Returns an AuthenticationResult from the given cache items
|
||||
*
|
||||
* @param account
|
||||
* @param idToken
|
||||
* @param accessToken
|
||||
* @param reqTimestamp
|
||||
* @returns
|
||||
*/
|
||||
toAuthenticationResultFromCache(account: AccountInfo, idToken: IdTokenEntity, accessToken: AccessTokenEntity, request: SilentRequest, correlationId: string): AuthenticationResult;
|
||||
}
|
||||
//# sourceMappingURL=NestedAppAuthAdapter.d.ts.map
|
||||
1
node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"NestedAppAuthAdapter.d.ts","sourceRoot":"","sources":["../../../src/naa/mapping/NestedAppAuthAdapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACH,WAAW,IAAI,eAAe,EAC9B,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,WAAW,EACX,OAAO,EACP,MAAM,EAEN,WAAW,EAOX,WAAW,EACX,aAAa,EACb,iBAAiB,EAGpB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,qBAAa,oBAAoB;IAC7B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;gBAGnC,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,EAAE,EAC5B,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM;IAQX,iBAAiB,CACpB,OAAO,EACD,YAAY,GACZ,eAAe,GACf,aAAa,GACb,gBAAgB,GACvB,YAAY;IAkCR,oBAAoB,CACvB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,MAAM,GACrB,oBAAoB;IA8DhB,kBAAkB,CACrB,WAAW,EAAE,cAAc,EAC3B,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,WAAW,GAC5B,eAAe;IAgDlB;;;;OAIG;IACI,eAAe,CAClB,KAAK,EAAE,OAAO,GAEZ,SAAS,GACT,eAAe,GACf,wBAAwB,GACxB,WAAW,GACX,4BAA4B;IAyClC;;;;;;;;OAQG;IACI,+BAA+B,CAClC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,GACtB,oBAAoB;CAkC1B"}
|
||||
187
node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.mjs
generated
vendored
Normal file
187
node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.mjs
generated
vendored
Normal file
@@ -0,0 +1,187 @@
|
||||
/*! @azure/msal-browser v4.2.1 2025-02-11 */
|
||||
'use strict';
|
||||
import { RequestParameterBuilder, StringUtils, AuthenticationScheme, createClientAuthError, ClientAuthErrorCodes, AuthToken, buildTenantProfile, AuthError, InteractionRequiredAuthError, ServerError, ClientAuthError, OIDC_DEFAULT_SCOPES } from '@azure/msal-common/browser';
|
||||
import { isBridgeError } from '../BridgeError.mjs';
|
||||
import { BridgeStatusCode } from '../BridgeStatusCode.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
class NestedAppAuthAdapter {
|
||||
constructor(clientId, clientCapabilities, crypto, logger) {
|
||||
this.clientId = clientId;
|
||||
this.clientCapabilities = clientCapabilities;
|
||||
this.crypto = crypto;
|
||||
this.logger = logger;
|
||||
}
|
||||
toNaaTokenRequest(request) {
|
||||
let extraParams;
|
||||
if (request.extraQueryParameters === undefined) {
|
||||
extraParams = new Map();
|
||||
}
|
||||
else {
|
||||
extraParams = new Map(Object.entries(request.extraQueryParameters));
|
||||
}
|
||||
const correlationId = request.correlationId || this.crypto.createNewGuid();
|
||||
const requestBuilder = new RequestParameterBuilder(correlationId);
|
||||
const claims = requestBuilder.addClientCapabilitiesToClaims(request.claims, this.clientCapabilities);
|
||||
const scopes = request.scopes || OIDC_DEFAULT_SCOPES;
|
||||
const tokenRequest = {
|
||||
platformBrokerId: request.account?.homeAccountId,
|
||||
clientId: this.clientId,
|
||||
authority: request.authority,
|
||||
scope: scopes.join(" "),
|
||||
correlationId,
|
||||
claims: !StringUtils.isEmptyObj(claims) ? claims : undefined,
|
||||
state: request.state,
|
||||
authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER,
|
||||
extraParameters: extraParams,
|
||||
};
|
||||
return tokenRequest;
|
||||
}
|
||||
fromNaaTokenResponse(request, response, reqTimestamp) {
|
||||
if (!response.token.id_token || !response.token.access_token) {
|
||||
throw createClientAuthError(ClientAuthErrorCodes.nullOrEmptyToken);
|
||||
}
|
||||
const expiresOn = new Date((reqTimestamp + (response.token.expires_in || 0)) * 1000);
|
||||
const idTokenClaims = AuthToken.extractTokenClaims(response.token.id_token, this.crypto.base64Decode);
|
||||
const account = this.fromNaaAccountInfo(response.account, response.token.id_token, idTokenClaims);
|
||||
const scopes = response.token.scope || request.scope;
|
||||
const authenticationResult = {
|
||||
authority: response.token.authority || account.environment,
|
||||
uniqueId: account.localAccountId,
|
||||
tenantId: account.tenantId,
|
||||
scopes: scopes.split(" "),
|
||||
account,
|
||||
idToken: response.token.id_token,
|
||||
idTokenClaims,
|
||||
accessToken: response.token.access_token,
|
||||
fromCache: false,
|
||||
expiresOn: expiresOn,
|
||||
tokenType: request.authenticationScheme || AuthenticationScheme.BEARER,
|
||||
correlationId: request.correlationId,
|
||||
extExpiresOn: expiresOn,
|
||||
state: request.state,
|
||||
};
|
||||
return authenticationResult;
|
||||
}
|
||||
/*
|
||||
* export type AccountInfo = {
|
||||
* homeAccountId: string;
|
||||
* environment: string;
|
||||
* tenantId: string;
|
||||
* username: string;
|
||||
* localAccountId: string;
|
||||
* name?: string;
|
||||
* idToken?: string;
|
||||
* idTokenClaims?: TokenClaims & {
|
||||
* [key: string]:
|
||||
* | string
|
||||
* | number
|
||||
* | string[]
|
||||
* | object
|
||||
* | undefined
|
||||
* | unknown;
|
||||
* };
|
||||
* nativeAccountId?: string;
|
||||
* authorityType?: string;
|
||||
* };
|
||||
*/
|
||||
fromNaaAccountInfo(fromAccount, idToken, idTokenClaims) {
|
||||
const effectiveIdTokenClaims = idTokenClaims || fromAccount.idTokenClaims;
|
||||
const localAccountId = fromAccount.localAccountId ||
|
||||
effectiveIdTokenClaims?.oid ||
|
||||
effectiveIdTokenClaims?.sub ||
|
||||
"";
|
||||
const tenantId = fromAccount.tenantId || effectiveIdTokenClaims?.tid || "";
|
||||
const homeAccountId = fromAccount.homeAccountId || `${localAccountId}.${tenantId}`;
|
||||
const username = fromAccount.username ||
|
||||
effectiveIdTokenClaims?.preferred_username ||
|
||||
"";
|
||||
const name = fromAccount.name || effectiveIdTokenClaims?.name;
|
||||
const tenantProfiles = new Map();
|
||||
const tenantProfile = buildTenantProfile(homeAccountId, localAccountId, tenantId, effectiveIdTokenClaims);
|
||||
tenantProfiles.set(tenantId, tenantProfile);
|
||||
const account = {
|
||||
homeAccountId,
|
||||
environment: fromAccount.environment,
|
||||
tenantId,
|
||||
username,
|
||||
localAccountId,
|
||||
name,
|
||||
idToken: idToken,
|
||||
idTokenClaims: effectiveIdTokenClaims,
|
||||
tenantProfiles,
|
||||
};
|
||||
return account;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param error BridgeError
|
||||
* @returns AuthError, ClientAuthError, ClientConfigurationError, ServerError, InteractionRequiredError
|
||||
*/
|
||||
fromBridgeError(error) {
|
||||
if (isBridgeError(error)) {
|
||||
switch (error.status) {
|
||||
case BridgeStatusCode.UserCancel:
|
||||
return new ClientAuthError(ClientAuthErrorCodes.userCanceled);
|
||||
case BridgeStatusCode.NoNetwork:
|
||||
return new ClientAuthError(ClientAuthErrorCodes.noNetworkConnectivity);
|
||||
case BridgeStatusCode.AccountUnavailable:
|
||||
return new ClientAuthError(ClientAuthErrorCodes.noAccountFound);
|
||||
case BridgeStatusCode.Disabled:
|
||||
return new ClientAuthError(ClientAuthErrorCodes.nestedAppAuthBridgeDisabled);
|
||||
case BridgeStatusCode.NestedAppAuthUnavailable:
|
||||
return new ClientAuthError(error.code ||
|
||||
ClientAuthErrorCodes.nestedAppAuthBridgeDisabled, error.description);
|
||||
case BridgeStatusCode.TransientError:
|
||||
case BridgeStatusCode.PersistentError:
|
||||
return new ServerError(error.code, error.description);
|
||||
case BridgeStatusCode.UserInteractionRequired:
|
||||
return new InteractionRequiredAuthError(error.code, error.description);
|
||||
default:
|
||||
return new AuthError(error.code, error.description);
|
||||
}
|
||||
}
|
||||
else {
|
||||
return new AuthError("unknown_error", "An unknown error occurred");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Returns an AuthenticationResult from the given cache items
|
||||
*
|
||||
* @param account
|
||||
* @param idToken
|
||||
* @param accessToken
|
||||
* @param reqTimestamp
|
||||
* @returns
|
||||
*/
|
||||
toAuthenticationResultFromCache(account, idToken, accessToken, request, correlationId) {
|
||||
if (!idToken || !accessToken) {
|
||||
throw createClientAuthError(ClientAuthErrorCodes.nullOrEmptyToken);
|
||||
}
|
||||
const idTokenClaims = AuthToken.extractTokenClaims(idToken.secret, this.crypto.base64Decode);
|
||||
const scopes = accessToken.target || request.scopes.join(" ");
|
||||
const authenticationResult = {
|
||||
authority: accessToken.environment || account.environment,
|
||||
uniqueId: account.localAccountId,
|
||||
tenantId: account.tenantId,
|
||||
scopes: scopes.split(" "),
|
||||
account,
|
||||
idToken: idToken.secret,
|
||||
idTokenClaims: idTokenClaims || {},
|
||||
accessToken: accessToken.secret,
|
||||
fromCache: true,
|
||||
expiresOn: new Date(Number(accessToken.expiresOn) * 1000),
|
||||
tokenType: request.authenticationScheme || AuthenticationScheme.BEARER,
|
||||
correlationId,
|
||||
extExpiresOn: new Date(Number(accessToken.extendedExpiresOn) * 1000),
|
||||
state: request.state,
|
||||
};
|
||||
return authenticationResult;
|
||||
}
|
||||
}
|
||||
|
||||
export { NestedAppAuthAdapter };
|
||||
//# sourceMappingURL=NestedAppAuthAdapter.mjs.map
|
||||
1
node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user