You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: sdk/identity/identity/CHANGELOG.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,17 @@
4
4
5
5
### New features
6
6
7
+
- Azure Identity for JavaScript no longer carries any native dependencies (neither ordinary, peer, nor optional dependencies). Previous distributions of `@azure/identity` carried an optional dependency on `keytar`, which caused issues for some users in restrictive environments.
7
8
- Updated the `@azure/msal-node` dependency to version `^1.0.2`, which allows cancelling of an ongoing `getToken()` operation on `DeviceCodeCredential`.
8
9
- Fixed issue with the logging of success messages on the `DefaultAzureCredential` and the `ChainedTokenCredential`. These messages will now mention the internal credential that succeeded.
9
10
- The feature of persistence caching of credentials (introduced in 2.0.0-beta.1) is now supported on Node.js 15 as well.
10
11
-`AuthenticationRequiredError` (introduced in 2.0.0-beta.1) now has the same impact on `ChainedTokenCredential` as the `CredentialUnavailableError` which is to allow the next credential in the chain to be tried.
11
-
-`ManagedIdentityCredential` now retries with exponential back-off when a request for a token fails with a 404 status code on environments with available IMDS endpoints.
12
+
-`ManagedIdentityCredential` now retries with exponential back-off when a request for a token fails with a 404 status code on environments with available IMDS endpoints.
12
13
13
14
### Breaking changes from 2.0.0-beta.1
14
15
16
+
- Removed `VisualStudioCodeCredential`, as it requires us to list `keytar` as an optional dependency. `keytar` containes machine-code components that are difficult to build in certain environments, so this credential will be offered through a separate extension package in the future.
17
+
- Removed token persistence through `@azure/msal-node-extensions`, as its machine-code components have the same problems as `keytar`. This functionality will similarly be reintroduced through a separate extension package in the future.
15
18
- Removed `authenticationRecord`, `disableAutomaticAuthentication` and `authenticate()` from the credential `UsernamePasswordCredential`. While MSAL does support this, allowing `authenticationRecord` arguably could result in users authenticating through an account other than the one they're specifying with the username and the password.
16
19
17
20
## 2.0.0-beta.2 (2021-04-06)
@@ -38,7 +41,7 @@ This update marks the preview for the first major version update of the `@azure/
38
41
39
42
### Breaking changes
40
43
41
-
- Changes to `InteractiveBrowserCredential`
44
+
- Changes to `InteractiveBrowserCredential`
42
45
- When used in browser applications, the `InteractiveBrowserCredential` has been updated to use the [Auth Code Flow](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) with [PKCE](https://tools.ietf.org/html/rfc7636) rather than [Implicit Grant Flow](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-implicit-grant-flow) by default to better support browsers with enhanced security restrictions. Please note that this credential always used the Auth Code Flow when used in Node.js applications. Read more on this in our [docs on Interactive Browser Credential](https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/identity/identity/interactive-browser-credential.md).
43
46
- The default client ID used for `InteractiveBrowserCredential` was viable only in Node.js and not for the browser. Therefore, client Id is now a required parameter when constructing this credential in browser applications.
44
47
- The `loginStyle` and `flow` options to the constructor for `InteractiveBrowserCredential` will now show up only when used in browser applications as these were never applicable to Node.js
@@ -53,7 +56,7 @@ This update marks the preview for the first major version update of the `@azure/
53
56
- Changes to `InteractiveBrowserCredential`, `DeviceCodeCredential`, `ClientSecretCredential`, `ClientCertificateCredential` and `UsernamePasswordCredential`:
54
57
- Migrated to use the latest MSAL. This update improves caching of tokens, significantly reducing the number of network requests.
55
58
- Added the feature of persistence caching of credentials. This is driven by the new `tokenCachePersistenceOptions` option available in the options you pass to the credential constructors.
56
-
- For now, to use this feature, users will need to install `@azure/msal-node-extensions`[1.0.0-alpha.6](https://www.npmjs.com/package/@azure/msal-node-extensions/v/1.0.0-alpha.6) on their own. This experience will be improved in the next update.
59
+
- For now, to use this feature, users will need to install `@azure/msal-node-extensions`[1.0.0-alpha.6](https://www.npmjs.com/package/@azure/msal-node-extensions/v/1.0.0-alpha.6) on their own. This experience will be improved in the next update.
57
60
- This feature uses DPAPI on Windows, it tries to use the Keychain on OSX and the Keyring on Linux.
58
61
- To learn more on the usage, please refer to our docs on the `TokenCachePersistenceOptions` interface.
59
62
-**IMPORTANT:** As part of this beta, this feature is only supported in Node 10, 12 and 14.
@@ -69,7 +72,7 @@ This update marks the preview for the first major version update of the `@azure/
69
72
### Other changes
70
73
71
74
- Updated the `@azure/msal-node` dependency to `^1.0.0`.
72
-
-`DefaultAzureCredential`'s implementation for browsers is simplified to throw the `BrowserNotSupportedError` in its constructor. Previously, we relied on getting the same error from trying to instantiate the different credentials that `DefaultAzureCredential` supports in Node.js.
75
+
-`DefaultAzureCredential`'s implementation for browsers is simplified to throw the `BrowserNotSupportedError` in its constructor. Previously, we relied on getting the same error from trying to instantiate the different credentials that `DefaultAzureCredential` supports in Node.js.
73
76
- As before, please use only the `InteractiveBrowserCredential` in your browser applications.
74
77
- For the `InteractiveBrowserCredential` for node, replaced the use of the `express` module with a native http server for Node, shrinking the resulting identity module considerably.
* Set this option to send base64 encoded public certificate in the client assertion header as an x5c claim
14
13
*/
15
14
sendCertificateChain?: boolean;
16
-
17
-
/**
18
-
* To provide a persistence layer to store the credentials,
19
-
* we allow users to optionally specify {@link TokenCachePersistenceOptions} for their credential.
20
-
*
21
-
* This feature is not currently available on Node 8 or earlier versions of Node JS.
22
-
*
23
-
* This persistence layer uses DPAPI on Windows.
24
-
* On OSX (Darwin) it tries to use the system's Keychain, otherwise if the property `allowUnencryptedStorage` is set to true, it uses an unencrypted file.
25
-
* On Linux it tries to use the system's Keyring, otherwise if the property `allowUnencryptedStorage` is set to true, it uses an unencrypted file.
* To provide a persistence layer to store the credentials,
13
-
* we allow users to optionally specify {@link TokenCachePersistenceOptions} for their credential.
14
-
*
15
-
* This feature is not currently available on Node 8 or earlier versions of Node JS.
16
-
*
17
-
* This persistence layer uses DPAPI on Windows.
18
-
* On OSX (Darwin) it tries to use the system's Keychain, otherwise if the property `allowUnencryptedStorage` is set to true, it uses an unencrypted file.
19
-
* On Linux it tries to use the system's Keyring, otherwise if the property `allowUnencryptedStorage` is set to true, it uses an unencrypted file.
* Developers will need to call to `authenticate()` to control when to manually authenticate.
27
26
*/
28
27
disableAutomaticAuthentication?: boolean;
29
-
30
-
/**
31
-
* To provide a persistence layer to store the credentials,
32
-
* we allow users to optionally specify {@link TokenCachePersistenceOptions} for their credential.
33
-
*
34
-
* This feature is not currently available on Node 8 or earlier versions of Node JS.
35
-
*
36
-
* This persistence layer uses DPAPI on Windows.
37
-
* On OSX (Darwin) it tries to use the system's Keychain, otherwise if the property `allowUnencryptedStorage` is set to true, it uses an unencrypted file.
38
-
* On Linux it tries to use the system's Keyring, otherwise if the property `allowUnencryptedStorage` is set to true, it uses an unencrypted file.
* To provide a persistence layer to store the credentials,
13
-
* we allow users to optionally specify {@link TokenCachePersistenceOptions} for their credential.
14
-
*
15
-
* This feature is not currently available on Node 8 or earlier versions of Node JS.
16
-
*
17
-
* This persistence layer uses DPAPI on Windows.
18
-
* On OSX (Darwin) it tries to use the system's Keychain, otherwise if the property `allowUnencryptedStorage` is set to true, it uses an unencrypted file.
19
-
* On Linux it tries to use the system's Keyring, otherwise if the property `allowUnencryptedStorage` is set to true, it uses an unencrypted file.
0 commit comments