Releases: AzureAD/microsoft-authentication-library-for-js
Releases · AzureAD/microsoft-authentication-library-for-js
Release msal v1.0.0-preview.0
1.0.0-preview.0
New Features (Breaking Changes)
As announced earlier @https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL.js-1.0.0-preview-changes we are excited to announce the preview release.
Release notes:
Configuration Object
- Initialization of the MSAL JS library – We introduced a ‘Configuration’ object that can be sent through the constructor of UserAgentApplication() class.
Request Object
- ‘Request’ object is introduced for all login/accessToken calls, this replaces previous overloading of login/acquireToken calls
- Users can choose to pass optional parameters to finetune their requests for authentication and authorization.
- 'User' object is now replaced with 'Account' => the public API getUser() is now getAccount() with more enhanced data.
Response and Error Objects
- ‘Response’ and 'Error' objects are introduced for server responses and app failures
- For ‘Redirect’ usecases, explicit success and failure call backs should be passed to ‘handleRedirectCallbacks()’.
- For 'Popup' and 'Silent' usecases, a promise pattern i.e.,' .then and .catch' can be used.
- Note: Error objects are better classified and messaged with this release. Detailed documentation for Error Handling will be added soon in docs
The 'Configuration', 'Request', 'Response' and 'Error' datatypes and their usage is detailed in the changelog.md @https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/changelog.md
We will follow up with a detailed blog post and a Quickstart Application soon with these changes.
Release msal v0.2.4
- Features
- Removal of prompt-select account
- Removes prompt parameter from interactive login and acquireToken requests, which include:
- loginRedirect
- loginPopup
- acquireTokenRedirect
- acquireTokenPopup
- acquireTokenSilent will continue to pass prompt=none
- When no prompt parameter is passed, the server:
- Attempts SSO. If there is a single available session, SSO will succeed.
- This session can come from cookies or the OS, and must match other request parameters such as login_hint, domain_hint, etc.
- If SSO fails, then you see either a login prompt or account selector
- If there are no active sessions, the user will see a login prompt
- If there are one or more active sessions but SSO was unable to match to a session with correlating request parameters, the user will see an accountSelector
- Attempts SSO. If there is a single available session, SSO will succeed.
- Clients can set the prompt value to any of the allowed values with extraQueryParameters. Please read docs here for more information: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/Prompt-behavior
- Removes prompt parameter from interactive login and acquireToken requests, which include:
- Unified Cache
- To support migration from ADAL.js to MSAL.js.
If your app is currently using ADAL.js and the user already has an existing session, this release supports SSO without requiring login in MSAL.js during the migration.
More details on how to achieve this are available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/Sso#sso-when-updating-from-adaljs-to-msaljs - A sample is available in the repo in samples/UnifiedCacheTestApp
- To support migration from ADAL.js to MSAL.js.
- Redirect URI as a function
- Set default redirectUri/postLogoutRedirectUri to a function returning
the current location.href, instead of the location.href from when the
UserAgentApplication was instantiated. Enables use of history.pushState.
One test updated, and tests added for redirectUri/postLogoutRedirectUri
as functions.
#462 - Fixes #458
- Set default redirectUri/postLogoutRedirectUri to a function returning
- Unit and End to end testing for msal-core enhanced
- Removal of prompt-select account
- Bug Fixes
- Package updates:
- added ajv 6.6.1
- added fork-ts-checker-webpack-plugin: "^0.5.1"
- jasmine-node: ^2.0.1 to ^1.16.2
- karma-webpack: ^2.0.5 to ^4.0.0-rc.5
- @types/jasmine-ajax:3.1.35 to 3.1.39
- jshint: 2.9.5 to 2.9.7
- webpack: 3.6.0 to 4.27.1
- changed from awesome-typescript-loader to ts-loader 5.3.1
- added webpack-cli: "^3.1.2",
- added webpack-dev-middleware: "^3.4.0"
Release msal v0.2.3
Release msal v0.2.2
Added support to handle the issue of the session storage and local storage getting cleared in IE and edge browsers during redirects across different security zones. This can be enabled by setting storeAuthStateInCookie flag in config to true. Default value is false.
#347
Release msal v0.2.1
New Features
-
Added State parameter in login request. #262
-
Removed istanbul code coverage due to webpack bundle size issue.
Release v0.2.0
New Features
- Changes in MSAL-Core to support MSAL-angular wrappers.
Release v0.1.9
Release v0.1.7
Release v0.1.6
New Features
- Fixed bug with concurrent acquireToken requests. #274
- Added catchHandler for authority validation
- Fixed bug to handle the case for id_token with special characters.
Release v0.1.5
Breaking Changes
- The constructor function in Msal is no longer asynchronous. To use the instance of userAgentApplication in the callback function passed in the constructor, use "this" in the calback function scope. Please see below:
var userAgentApplication = new Msal.UserAgentApplication(applicationConfig.clientID, null, authCallback);
function authCallback(errorDesc, token, error, tokenType) {
console.log(userAgentApplication) //this will print undefined, use this instead
var self = this// self is instance of userAgentApplication
}
New Features
- By default, msal tries to take you back to the loginStartPage after successful authentication. To disable this setting, you can pass navigateToLoginRequestUrl:false
in the options object in the constructor. In that case, msal will just set the url hash to null and call the provided callback, thereby avoiding an additional reload. Please see snippet below:
var userAgentApplication = new Msal.UserAgentApplication(applicationConfig.clientID, null, authCallback, { navigateToLoginRequestUrl:false });
- The idToken object is now added as a property on user object in msal which can be used to query claims and the User class itself is exported under the global namespace.
- loadFrameTimout(msec) is now configurable by setting it to a value in the options object passed to the userAgentApplication contructor. The default timeout is 6000 msec. Please see the snippet below to change it:
var userAgentApplication = new Msal.UserAgentApplication(applicationConfig.clientID, null, authCallback, { loadFrameTimout:10000 });