@azure/identity 4.7.1-alpha.20250219.1 → 4.7.1-alpha.20250221.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/browser/credentials/interactiveBrowserCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/interactiveBrowserCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/interactiveBrowserCredential.d.ts +1 -1
- package/dist/browser/credentials/interactiveBrowserCredential.js +5 -5
- package/dist/browser/credentials/usernamePasswordCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/usernamePasswordCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/usernamePasswordCredential.d.ts +2 -0
- package/dist/browser/credentials/usernamePasswordCredential.js +2 -0
- package/dist/browser/msal/browserFlows/msalBrowserCommon.d.ts +10 -97
- package/dist/browser/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
- package/dist/browser/msal/browserFlows/msalBrowserCommon.js +235 -60
- package/dist/browser/msal/browserFlows/msalBrowserCommon.js.map +1 -1
- package/dist/browser/msal/browserFlows/msalBrowserOptions.d.ts +87 -0
- package/dist/browser/msal/browserFlows/msalBrowserOptions.d.ts.map +1 -0
- package/dist/{esm/msal/browserFlows/flows.js → browser/msal/browserFlows/msalBrowserOptions.js} +1 -1
- package/dist/browser/msal/browserFlows/msalBrowserOptions.js.map +1 -0
- package/dist/commonjs/credentials/managedIdentityCredential/index.d.ts.map +1 -1
- package/dist/commonjs/credentials/managedIdentityCredential/index.js +11 -1
- package/dist/commonjs/credentials/managedIdentityCredential/index.js.map +1 -1
- package/dist/commonjs/credentials/usernamePasswordCredential.d.ts +2 -0
- package/dist/commonjs/credentials/usernamePasswordCredential.d.ts.map +1 -1
- package/dist/commonjs/credentials/usernamePasswordCredential.js +2 -0
- package/dist/commonjs/credentials/usernamePasswordCredential.js.map +1 -1
- package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts +10 -97
- package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
- package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js +237 -63
- package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js.map +1 -1
- package/dist/commonjs/msal/browserFlows/msalBrowserOptions.d.ts +87 -0
- package/dist/commonjs/msal/browserFlows/msalBrowserOptions.d.ts.map +1 -0
- package/dist/commonjs/msal/browserFlows/{flows.js → msalBrowserOptions.js} +1 -1
- package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js.map +1 -0
- package/dist/esm/credentials/managedIdentityCredential/index.d.ts.map +1 -1
- package/dist/esm/credentials/managedIdentityCredential/index.js +11 -1
- package/dist/esm/credentials/managedIdentityCredential/index.js.map +1 -1
- package/dist/esm/credentials/usernamePasswordCredential.d.ts +2 -0
- package/dist/esm/credentials/usernamePasswordCredential.d.ts.map +1 -1
- package/dist/esm/credentials/usernamePasswordCredential.js +2 -0
- package/dist/esm/credentials/usernamePasswordCredential.js.map +1 -1
- package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts +10 -97
- package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
- package/dist/esm/msal/browserFlows/msalBrowserCommon.js +235 -60
- package/dist/esm/msal/browserFlows/msalBrowserCommon.js.map +1 -1
- package/dist/esm/msal/browserFlows/msalBrowserOptions.d.ts +87 -0
- package/dist/esm/msal/browserFlows/msalBrowserOptions.d.ts.map +1 -0
- package/dist/{browser/msal/browserFlows/flows.js → esm/msal/browserFlows/msalBrowserOptions.js} +1 -1
- package/dist/esm/msal/browserFlows/msalBrowserOptions.js.map +1 -0
- package/package.json +2 -2
- package/dist/browser/msal/browserFlows/flows.d.ts +0 -42
- package/dist/browser/msal/browserFlows/flows.d.ts.map +0 -1
- package/dist/browser/msal/browserFlows/flows.js.map +0 -1
- package/dist/browser/msal/browserFlows/msalAuthCode.d.ts +0 -48
- package/dist/browser/msal/browserFlows/msalAuthCode.d.ts.map +0 -1
- package/dist/browser/msal/browserFlows/msalAuthCode.js +0 -203
- package/dist/browser/msal/browserFlows/msalAuthCode.js.map +0 -1
- package/dist/commonjs/msal/browserFlows/flows.d.ts +0 -42
- package/dist/commonjs/msal/browserFlows/flows.d.ts.map +0 -1
- package/dist/commonjs/msal/browserFlows/flows.js.map +0 -1
- package/dist/commonjs/msal/browserFlows/msalAuthCode.d.ts +0 -48
- package/dist/commonjs/msal/browserFlows/msalAuthCode.d.ts.map +0 -1
- package/dist/commonjs/msal/browserFlows/msalAuthCode.js +0 -208
- package/dist/commonjs/msal/browserFlows/msalAuthCode.js.map +0 -1
- package/dist/esm/msal/browserFlows/flows.d.ts +0 -42
- package/dist/esm/msal/browserFlows/flows.d.ts.map +0 -1
- package/dist/esm/msal/browserFlows/flows.js.map +0 -1
- package/dist/esm/msal/browserFlows/msalAuthCode.d.ts +0 -48
- package/dist/esm/msal/browserFlows/msalAuthCode.d.ts.map +0 -1
- package/dist/esm/msal/browserFlows/msalAuthCode.js +0 -203
- package/dist/esm/msal/browserFlows/msalAuthCode.js.map +0 -1
package/README.md
CHANGED
@@ -283,7 +283,7 @@ Not all credentials require this configuration. Credentials that authenticate th
|
|
283
283
|
| [`DeviceCodeCredential`](https://learn.microsoft.com/javascript/api/@azure/identity/devicecodecredential?view=azure-node-latest) | Interactively authenticates a user on devices with limited UI. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-device-code-flow) | [Device code authentication](https://learn.microsoft.com/entra/identity-platform/v2-oauth2-device-code) |
|
284
284
|
| [`InteractiveBrowserCredential`](https://learn.microsoft.com/javascript/api/@azure/identity/interactivebrowsercredential?view=azure-node-latest) | Interactively authenticates a user with the default system browser. Read more about how this happens [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/interactive-browser-credential.md). | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-interactively-in-the-browser) | [OAuth2 authorization code](https://learn.microsoft.com/entra/identity-platform/v2-oauth2-auth-code-flow) |
|
285
285
|
| [`OnBehalfOfCredential`](https://learn.microsoft.com/javascript/api/@azure/identity/onbehalfofcredential?view=azure-node-latest) | Propagates the delegated user identity and permissions through the request chain | | [On-behalf-of authentication](https://learn.microsoft.com/entra/identity-platform/v2-oauth2-on-behalf-of-flow) |
|
286
|
-
| [`UsernamePasswordCredential`](https://learn.microsoft.com/javascript/api/@azure/identity/usernamepasswordcredential?view=azure-node-latest) | Authenticates a user with a username and password. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-username-and-password) | [Username + password authentication](https://learn.microsoft.com/entra/identity-platform/v2-oauth-ropc) |
|
286
|
+
| [`UsernamePasswordCredential`](https://learn.microsoft.com/javascript/api/@azure/identity/usernamepasswordcredential?view=azure-node-latest) | **Deprecated** - Authenticates a user with a username and password. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-username-and-password) | [Username + password authentication](https://learn.microsoft.com/entra/identity-platform/v2-oauth-ropc) |
|
287
287
|
|
288
288
|
### Authenticate via development tools
|
289
289
|
|
@@ -318,6 +318,8 @@ Not all credentials require this configuration. Credentials that authenticate th
|
|
318
318
|
|
319
319
|
#### Username and password
|
320
320
|
|
321
|
+
> **Warning**: Username and password authentication doesn't support multifactor authentication and is **deprecated**. For more details, see [Planning for mandatory multifactor authentication](https://aka.ms/azsdk/identity/mfa).
|
322
|
+
|
321
323
|
| Variable name | Value |
|
322
324
|
| ----------------- | ---------------------------------------------- |
|
323
325
|
| `AZURE_CLIENT_ID` | ID of a Microsoft Entra application |
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"interactiveBrowserCredential-browser.d.mts","sourceRoot":"","sources":["../../../src/credentials/interactiveBrowserCredential-browser.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EACV,4CAA4C,EAC5C,uCAAuC,EACxC,MAAM,0CAA0C,CAAC;AAOlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAS7D;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,eAAe;IAClE,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,4BAA4B,CAAW;IAC/C,OAAO,CAAC,
|
1
|
+
{"version":3,"file":"interactiveBrowserCredential-browser.d.mts","sourceRoot":"","sources":["../../../src/credentials/interactiveBrowserCredential-browser.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EACV,4CAA4C,EAC5C,uCAAuC,EACxC,MAAM,0CAA0C,CAAC;AAOlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAS7D;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,eAAe;IAClE,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,4BAA4B,CAAW;IAC/C,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,8BAA8B,CAAC,CAAU;IAEjD;;;;;;;;;;;;;OAaG;gBAED,OAAO,EAAE,4CAA4C,GAAG,uCAAuC;IA0CjG;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAqB9F;;;;;;;;;OASG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;CAW7C"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"interactiveBrowserCredential-browser.mjs","sourceRoot":"","sources":["../../../src/credentials/interactiveBrowserCredential-browser.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;
|
1
|
+
{"version":3,"file":"interactiveBrowserCredential-browser.mjs","sourceRoot":"","sources":["../../../src/credentials/interactiveBrowserCredential-browser.mts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport type {\n InteractiveBrowserCredentialInBrowserOptions,\n InteractiveBrowserCredentialNodeOptions,\n} from \"./interactiveBrowserCredentialOptions.js\";\nimport { credentialLogger, formatError } from \"../util/logging.js\";\nimport {\n processMultiTenantRequest,\n resolveAdditionallyAllowedTenantIds,\n} from \"../util/tenantIdUtils.js\";\n\nimport type { AuthenticationRecord } from \"../msal/types.js\";\nimport type { MsalBrowserFlowOptions } from \"../msal/browserFlows/msalBrowserOptions.js\";\nimport { ensureScopes } from \"../util/scopeUtils.js\";\nimport { tracingClient } from \"../util/tracing.js\";\nimport type { MsalBrowserClient } from \"../msal/browserFlows/msalBrowserCommon.js\";\nimport { createMsalBrowserClient } from \"../msal/browserFlows/msalBrowserCommon.js\";\n\nconst logger = credentialLogger(\"InteractiveBrowserCredential\");\n\n/**\n * Enables authentication to Microsoft Entra ID inside of the web browser\n * using the interactive login flow.\n */\nexport class InteractiveBrowserCredential implements TokenCredential {\n private tenantId?: string;\n private additionallyAllowedTenantIds: string[];\n private msalClient: MsalBrowserClient;\n private disableAutomaticAuthentication?: boolean;\n\n /**\n * Creates an instance of the InteractiveBrowserCredential with the\n * details needed to authenticate against Microsoft Entra ID with\n * a user identity.\n *\n * This credential uses the [Authorization Code Flow](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow).\n * On Node.js, it will open a browser window while it listens for a redirect response from the authentication service.\n * On browsers, it authenticates via popups. The `loginStyle` optional parameter can be set to `redirect` to authenticate by redirecting the user to an Azure secure login page, which then will redirect the user back to the web application where the authentication started.\n *\n * It's recommended that the Microsoft Entra Applications used are configured to authenticate using Single Page Applications.\n * More information here: [link](https://learn.microsoft.com/en-us/azure/active-directory/develop/scenario-spa-app-registration#redirect-uri-msaljs-20-with-auth-code-flow).\n *\n * @param options - Options for configuring the client which makes the authentication request.\n */\n constructor(\n options: InteractiveBrowserCredentialInBrowserOptions | InteractiveBrowserCredentialNodeOptions,\n ) {\n if (!options?.clientId) {\n const error = new Error(\n \"The parameter `clientId` cannot be left undefined for the `InteractiveBrowserCredential`\",\n );\n logger.info(formatError(\"\", error));\n throw error;\n }\n\n this.tenantId = options?.tenantId;\n this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(\n options?.additionallyAllowedTenants,\n );\n\n const browserOptions = options as InteractiveBrowserCredentialInBrowserOptions;\n const loginStyle = browserOptions.loginStyle || \"popup\";\n const loginStyles = [\"redirect\", \"popup\"];\n\n if (loginStyles.indexOf(loginStyle) === -1) {\n const error = new Error(\n `Invalid loginStyle: ${\n browserOptions.loginStyle\n }. Should be any of the following: ${loginStyles.join(\", \")}.`,\n );\n logger.info(formatError(\"\", error));\n throw error;\n }\n\n const msalOptions: MsalBrowserFlowOptions = {\n ...options,\n tokenCredentialOptions: options,\n logger,\n loginStyle: loginStyle,\n redirectUri:\n typeof options.redirectUri === \"function\" ? options.redirectUri() : options.redirectUri,\n };\n\n this.msalClient = createMsalBrowserClient(msalOptions);\n this.disableAutomaticAuthentication = options?.disableAutomaticAuthentication;\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * If the user provided the option `disableAutomaticAuthentication`,\n * once the token can't be retrieved silently,\n * this method won't attempt to request user interaction to retrieve the token.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n async getToken(scopes: string | string[], options: GetTokenOptions = {}): Promise<AccessToken> {\n return tracingClient.withSpan(\n `${this.constructor.name}.getToken`,\n options,\n async (newOptions) => {\n const tenantId = processMultiTenantRequest(\n this.tenantId,\n newOptions,\n this.additionallyAllowedTenantIds,\n );\n newOptions.tenantId = tenantId;\n\n const arrayScopes = ensureScopes(scopes);\n return this.msalClient.getToken(arrayScopes, {\n ...newOptions,\n disableAutomaticAuthentication: this.disableAutomaticAuthentication,\n });\n },\n );\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * If the token can't be retrieved silently, this method will require user interaction to retrieve the token.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n async authenticate(\n scopes: string | string[],\n options: GetTokenOptions = {},\n ): Promise<AuthenticationRecord | undefined> {\n return tracingClient.withSpan(\n `${this.constructor.name}.authenticate`,\n options,\n async (newOptions) => {\n const arrayScopes = Array.isArray(scopes) ? scopes : [scopes];\n await this.msalClient.getToken(arrayScopes, newOptions);\n return this.msalClient.getActiveAccount();\n },\n );\n }\n}\n"]}
|
@@ -8,7 +8,7 @@ import type { AuthenticationRecord } from "../msal/types.js";
|
|
8
8
|
export declare class InteractiveBrowserCredential implements TokenCredential {
|
9
9
|
private tenantId?;
|
10
10
|
private additionallyAllowedTenantIds;
|
11
|
-
private
|
11
|
+
private msalClient;
|
12
12
|
private disableAutomaticAuthentication?;
|
13
13
|
/**
|
14
14
|
* Creates an instance of the InteractiveBrowserCredential with the
|
@@ -2,9 +2,9 @@
|
|
2
2
|
// Licensed under the MIT License.
|
3
3
|
import { credentialLogger, formatError } from "../util/logging.js";
|
4
4
|
import { processMultiTenantRequest, resolveAdditionallyAllowedTenantIds, } from "../util/tenantIdUtils.js";
|
5
|
-
import { MSALAuthCode } from "../msal/browserFlows/msalAuthCode.js";
|
6
5
|
import { ensureScopes } from "../util/scopeUtils.js";
|
7
6
|
import { tracingClient } from "../util/tracing.js";
|
7
|
+
import { createMsalBrowserClient } from "../msal/browserFlows/msalBrowserCommon.js";
|
8
8
|
const logger = credentialLogger("InteractiveBrowserCredential");
|
9
9
|
/**
|
10
10
|
* Enables authentication to Microsoft Entra ID inside of the web browser
|
@@ -42,7 +42,7 @@ export class InteractiveBrowserCredential {
|
|
42
42
|
throw error;
|
43
43
|
}
|
44
44
|
const msalOptions = Object.assign(Object.assign({}, options), { tokenCredentialOptions: options, logger, loginStyle: loginStyle, redirectUri: typeof options.redirectUri === "function" ? options.redirectUri() : options.redirectUri });
|
45
|
-
this.
|
45
|
+
this.msalClient = createMsalBrowserClient(msalOptions);
|
46
46
|
this.disableAutomaticAuthentication = options === null || options === void 0 ? void 0 : options.disableAutomaticAuthentication;
|
47
47
|
}
|
48
48
|
/**
|
@@ -62,7 +62,7 @@ export class InteractiveBrowserCredential {
|
|
62
62
|
const tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds);
|
63
63
|
newOptions.tenantId = tenantId;
|
64
64
|
const arrayScopes = ensureScopes(scopes);
|
65
|
-
return this.
|
65
|
+
return this.msalClient.getToken(arrayScopes, Object.assign(Object.assign({}, newOptions), { disableAutomaticAuthentication: this.disableAutomaticAuthentication }));
|
66
66
|
});
|
67
67
|
}
|
68
68
|
/**
|
@@ -78,8 +78,8 @@ export class InteractiveBrowserCredential {
|
|
78
78
|
async authenticate(scopes, options = {}) {
|
79
79
|
return tracingClient.withSpan(`${this.constructor.name}.authenticate`, options, async (newOptions) => {
|
80
80
|
const arrayScopes = Array.isArray(scopes) ? scopes : [scopes];
|
81
|
-
await this.
|
82
|
-
return this.
|
81
|
+
await this.msalClient.getToken(arrayScopes, newOptions);
|
82
|
+
return this.msalClient.getActiveAccount();
|
83
83
|
});
|
84
84
|
}
|
85
85
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usernamePasswordCredential-browser.d.mts","sourceRoot":"","sources":["../../../src/credentials/usernamePasswordCredential-browser.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAStF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAMhG;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IAChE,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,4BAA4B,CAAW;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IAEzB
|
1
|
+
{"version":3,"file":"usernamePasswordCredential-browser.d.mts","sourceRoot":"","sources":["../../../src/credentials/usernamePasswordCredential-browser.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAStF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAMhG;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IAChE,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,4BAA4B,CAAW;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;;;;;;OAYG;gBAED,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iCAAiC;IAc7C;;;;;;;;;OASG;IACU,QAAQ,CACnB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;CAuC/B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usernamePasswordCredential-browser.mjs","sourceRoot":"","sources":["../../../src/credentials/usernamePasswordCredential-browser.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,GAAG,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAQrC
|
1
|
+
{"version":3,"file":"usernamePasswordCredential-browser.mjs","sourceRoot":"","sources":["../../../src/credentials/usernamePasswordCredential-browser.mts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport {\n checkTenantId,\n processMultiTenantRequest,\n resolveAdditionallyAllowedTenantIds,\n} from \"../util/tenantIdUtils.js\";\nimport { createHttpHeaders, createPipelineRequest } from \"@azure/core-rest-pipeline\";\nimport { credentialLogger, formatSuccess } from \"../util/logging.js\";\nimport { IdentityClient } from \"../client/identityClient.js\";\nimport type { UsernamePasswordCredentialOptions } from \"./usernamePasswordCredentialOptions.js\";\nimport { getIdentityTokenEndpointSuffix } from \"../util/identityTokenEndpoint.js\";\nimport { tracingClient } from \"../util/tracing.js\";\n\nconst logger = credentialLogger(\"UsernamePasswordCredential\");\n\n/**\n * Enables authentication to Microsoft Entra ID with a user's\n * username and password. This credential requires a high degree of\n * trust so you should only use it when other, more secure credential\n * types can't be used.\n */\nexport class UsernamePasswordCredential implements TokenCredential {\n private identityClient: IdentityClient;\n private tenantId: string;\n private additionallyAllowedTenantIds: string[];\n private clientId: string;\n private username: string;\n private password: string;\n\n /**\n * Creates an instance of the UsernamePasswordCredential with the details\n * needed to authenticate against Microsoft Entra ID with a username\n * and password.\n *\n * @param tenantIdOrName - The Microsoft Entra tenant (directory) ID or name.\n * @param clientId - The client (application) ID of an App Registration in the tenant.\n * @param username - The user account's e-mail address (user name).\n * @param password - The user account's account password\n * @param options - Options for configuring the client which makes the authentication request.\n * \n * @deprecated UsernamePasswordCredential is deprecated. Use a more secure credential. See https://aka.ms/azsdk/identity/mfa for details.\n */\n constructor(\n tenantIdOrName: string,\n clientId: string,\n username: string,\n password: string,\n options?: UsernamePasswordCredentialOptions,\n ) {\n checkTenantId(logger, tenantIdOrName);\n\n this.identityClient = new IdentityClient(options);\n this.tenantId = tenantIdOrName;\n this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(\n options?.additionallyAllowedTenants,\n );\n this.clientId = clientId;\n this.username = username;\n this.password = password;\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if\n * successful. If authentication cannot be performed at this time, this method may\n * return null. If an error occurs during authentication, an {@link AuthenticationError}\n * containing failure details will be thrown.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n public async getToken(\n scopes: string | string[],\n options: GetTokenOptions = {},\n ): Promise<AccessToken | null> {\n return tracingClient.withSpan(\n \"UsernamePasswordCredential.getToken\",\n options,\n async (newOptions) => {\n const tenantId = processMultiTenantRequest(\n this.tenantId,\n newOptions,\n this.additionallyAllowedTenantIds,\n );\n newOptions.tenantId = tenantId;\n\n const urlSuffix = getIdentityTokenEndpointSuffix(this.tenantId);\n const params = new URLSearchParams({\n response_type: \"token\",\n grant_type: \"password\",\n client_id: this.clientId,\n username: this.username,\n password: this.password,\n scope: typeof scopes === \"string\" ? scopes : scopes.join(\" \"),\n });\n const webResource = createPipelineRequest({\n url: `${this.identityClient.authorityHost}/${this.tenantId}/${urlSuffix}`,\n method: \"POST\",\n body: params.toString(),\n headers: createHttpHeaders({\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n }),\n abortSignal: options && options.abortSignal,\n tracingOptions: newOptions.tracingOptions,\n });\n\n const tokenResponse = await this.identityClient.sendTokenRequest(webResource);\n logger.getToken.info(formatSuccess(scopes));\n return (tokenResponse && tokenResponse.accessToken) || null;\n },\n );\n }\n}\n"]}
|
@@ -23,6 +23,8 @@ export declare class UsernamePasswordCredential implements TokenCredential {
|
|
23
23
|
* @param username - The user account's e-mail address (user name).
|
24
24
|
* @param password - The user account's account password
|
25
25
|
* @param options - Options for configuring the client which makes the authentication request.
|
26
|
+
*
|
27
|
+
* @deprecated UsernamePasswordCredential is deprecated. Use a more secure credential. See https://aka.ms/azsdk/identity/mfa for details.
|
26
28
|
*/
|
27
29
|
constructor(tenantIdOrName: string, clientId: string, username: string, password: string, options?: UsernamePasswordCredentialOptions);
|
28
30
|
/**
|
@@ -24,6 +24,8 @@ export class UsernamePasswordCredential {
|
|
24
24
|
* @param username - The user account's e-mail address (user name).
|
25
25
|
* @param password - The user account's account password
|
26
26
|
* @param options - Options for configuring the client which makes the authentication request.
|
27
|
+
*
|
28
|
+
* @deprecated UsernamePasswordCredential is deprecated. Use a more secure credential. See https://aka.ms/azsdk/identity/mfa for details.
|
27
29
|
*/
|
28
30
|
constructor(tenantIdOrName, clientId, username, password, options) {
|
29
31
|
checkTenantId(logger, tenantIdOrName);
|
@@ -1,106 +1,19 @@
|
|
1
|
-
import type
|
2
|
-
import type { AccessToken
|
3
|
-
import type { AuthenticationRecord
|
4
|
-
import type { CredentialLogger } from "../../util/logging.js";
|
5
|
-
import type { MsalFlow, MsalFlowOptions } from "./flows.js";
|
6
|
-
import type { BrowserLoginStyle } from "../../credentials/interactiveBrowserCredentialOptions.js";
|
1
|
+
import type { MsalBrowserFlowOptions } from "./msalBrowserOptions.js";
|
2
|
+
import type { AccessToken } from "@azure/core-auth";
|
3
|
+
import type { AuthenticationRecord } from "../types.js";
|
7
4
|
import type { CredentialFlowGetTokenOptions } from "../credentials.js";
|
8
|
-
import type { LogPolicyOptions } from "@azure/core-rest-pipeline";
|
9
|
-
import type { MultiTenantTokenCredentialOptions } from "../../credentials/multiTenantTokenCredentialOptions.js";
|
10
5
|
/**
|
11
|
-
*
|
12
|
-
* Some properties might not be used by some flow types.
|
13
|
-
*/
|
14
|
-
export interface MsalBrowserFlowOptions extends MsalFlowOptions {
|
15
|
-
tokenCredentialOptions: MultiTenantTokenCredentialOptions;
|
16
|
-
redirectUri?: string;
|
17
|
-
loginStyle: BrowserLoginStyle;
|
18
|
-
loginHint?: string;
|
19
|
-
/**
|
20
|
-
* Allows users to configure settings for logging policy options, allow logging account information and personally identifiable information for customer support.
|
21
|
-
*/
|
22
|
-
loggingOptions?: LogPolicyOptions & {
|
23
|
-
/**
|
24
|
-
* Allows logging account information once the authentication flow succeeds.
|
25
|
-
*/
|
26
|
-
allowLoggingAccountIdentifiers?: boolean;
|
27
|
-
/**
|
28
|
-
* Allows logging personally identifiable information for customer support.
|
29
|
-
*/
|
30
|
-
enableUnsafeSupportLogging?: boolean;
|
31
|
-
};
|
32
|
-
}
|
33
|
-
/**
|
34
|
-
* The common methods we use to work with the MSAL browser flows.
|
6
|
+
* Methods that are used by InteractiveBrowserCredential
|
35
7
|
* @internal
|
36
8
|
*/
|
37
|
-
export interface
|
38
|
-
|
39
|
-
|
9
|
+
export interface MsalBrowserClient {
|
10
|
+
getActiveAccount(): Promise<AuthenticationRecord | undefined>;
|
11
|
+
getToken(scopes: string[], options: CredentialFlowGetTokenOptions): Promise<AccessToken>;
|
40
12
|
}
|
41
13
|
/**
|
42
|
-
*
|
14
|
+
* Uses MSAL Browser 2.X for browser authentication,
|
15
|
+
* which uses the [Auth Code Flow](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow).
|
43
16
|
* @internal
|
44
17
|
*/
|
45
|
-
export declare function
|
46
|
-
/**
|
47
|
-
* MSAL partial base client for the browsers.
|
48
|
-
*
|
49
|
-
* It completes the input configuration with some default values.
|
50
|
-
* It also provides with utility protected methods that can be used from any of the clients,
|
51
|
-
* which includes handlers for successful responses and errors.
|
52
|
-
*
|
53
|
-
* @internal
|
54
|
-
*/
|
55
|
-
export declare abstract class MsalBrowser implements MsalBrowserFlow {
|
56
|
-
protected loginStyle: BrowserLoginStyle;
|
57
|
-
protected clientId: string;
|
58
|
-
protected tenantId: string;
|
59
|
-
protected additionallyAllowedTenantIds: string[];
|
60
|
-
protected authorityHost?: string;
|
61
|
-
protected account: AuthenticationRecord | undefined;
|
62
|
-
protected msalConfig: msalBrowser.Configuration;
|
63
|
-
protected disableAutomaticAuthentication?: boolean;
|
64
|
-
protected app?: msalBrowser.IPublicClientApplication;
|
65
|
-
protected logger: CredentialLogger;
|
66
|
-
constructor(options: MsalBrowserFlowOptions);
|
67
|
-
/**
|
68
|
-
* In the browsers we don't need to init()
|
69
|
-
*/
|
70
|
-
init(): Promise<void>;
|
71
|
-
/**
|
72
|
-
* Attempts to handle a redirection request the least amount of times possible.
|
73
|
-
*/
|
74
|
-
abstract handleRedirect(): Promise<AuthenticationRecord | undefined>;
|
75
|
-
/**
|
76
|
-
* Clears MSAL's cache.
|
77
|
-
*/
|
78
|
-
logout(): Promise<void>;
|
79
|
-
/**
|
80
|
-
* Uses MSAL to retrieve the active account.
|
81
|
-
*/
|
82
|
-
abstract getActiveAccount(): Promise<AuthenticationRecord | undefined>;
|
83
|
-
/**
|
84
|
-
* Uses MSAL to trigger a redirect or a popup login.
|
85
|
-
*/
|
86
|
-
abstract login(scopes?: string | string[]): Promise<AuthenticationRecord | undefined>;
|
87
|
-
/**
|
88
|
-
* Attempts to retrieve a token from cache.
|
89
|
-
*/
|
90
|
-
abstract getTokenSilent(scopes: string[]): Promise<AccessToken>;
|
91
|
-
/**
|
92
|
-
* Attempts to retrieve the token in the browser.
|
93
|
-
*/
|
94
|
-
protected abstract doGetToken(scopes: string[]): Promise<AccessToken>;
|
95
|
-
/**
|
96
|
-
* Attempts to retrieve an authenticated token from MSAL.
|
97
|
-
*/
|
98
|
-
getToken(scopes: string[], options?: CredentialFlowGetTokenOptions): Promise<AccessToken>;
|
99
|
-
/**
|
100
|
-
* Handles the MSAL authentication result.
|
101
|
-
* If the result has an account, we update the local account reference.
|
102
|
-
* If the token received is invalid, an error will be thrown depending on what's missing.
|
103
|
-
*/
|
104
|
-
protected handleResult(scopes: string | string[], result?: MsalResult, getTokenOptions?: GetTokenOptions): AccessToken;
|
105
|
-
}
|
18
|
+
export declare function createMsalBrowserClient(options: MsalBrowserFlowOptions): MsalBrowserClient;
|
106
19
|
//# sourceMappingURL=msalBrowserCommon.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"msalBrowserCommon.d.ts","sourceRoot":"","sources":["../../../../src/msal/browserFlows/msalBrowserCommon.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"msalBrowserCommon.d.ts","sourceRoot":"","sources":["../../../../src/msal/browserFlows/msalBrowserCommon.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAYtE,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAc,MAAM,aAAa,CAAC;AAEpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AA2CvE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC1F;AAKD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CA+R1F"}
|