From 916222e63ade78e4b6cba6241bdf08e418b215a4 Mon Sep 17 00:00:00 2001 From: Marc Woolfson Date: Wed, 2 Sep 2020 15:32:35 +0100 Subject: [PATCH] docs(changelog): added breaking changes when upgrading from `2.0.3` to `3.0.0-beta.3` --- CHANGELOG.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 4 +++ 2 files changed, 80 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ef72f28 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,76 @@ +# CHANGELOG + +## [3.0.0](https://github.com/stashenergy/react-native-msal/compare/v2.0.3...v3.0.0) + +### Breaking changes + +#### Default export + +Default exported class renamed from `MSALClient` to `PublicClientApplication` and constructor now accepts an `MSALConfiguration` object instead of a `clientId` string. + +```diff +-import MSALClient from 'react-native-msal'; ++import MSALClient, { MSALConfiguration } from 'react-native-msal'; +-const msalClient = new MSALClient(clientId); ++const config: MSALConfiguration = { ++ auth: { ++ clientId, ++ }, ++}; ++const msalClient = new MSALClient(config); +``` + +#### `MSALAccount` and `accountIdentifier` properties + +The `MSALAccount` definition has been modified to include a new `Claims` dictionary. All methods that previously consumed the `identifier` from this type should now provide the entire `MSALAccount` object instead. + +```diff +const result = msalClient.acquireTokenSilent({ + authority, + scopes, +- accountIdentifier: account.identifier, ++ account, +}); +``` + +#### `signOut` method + +The `signout` method has been renamed `signOut` and `authority` removed from the `MSALSignoutParams`. + +```diff +-await msalClient.signout({ +- authority, ++await msalClient.signOut({ +``` + +#### `removeAccount` method + +`MSALRemoveAccountParams` has been removed and so the `removeAccount` method only requires the `account`. + +```diff +-await msalClient.removeAccount({ ++await msalClient.removeAccount( +- authority, + account, +-}) ++) +``` + +#### Webview parameters + +`ios_prefersEphemeralWebBrowserSession` has moved from `acquireToken()` and `signOut()` parameters into the new `webviewParameters` in `MSALInteractiveParams` and `MSALSignoutParams` respectively. + +```diff +-ios_prefersEphemeralWebBrowserSession: true, ++webviewParameters: { ++ ios_prefersEphemeralWebBrowserSession: true, ++}, +``` + +#### `expiresOn` + +`MSALResult.expiresOn` now returns a value in seconds instead of milliseconds. + +#### Azure AD B2C usage + +See [example/src/b2cClient.ts](https://github.com/stashenergy/react-native-msal/blob/beta/example/src/b2cClient.ts), but at the very least, `knownAuthorities` should be added to the initial client constructor. diff --git a/README.md b/README.md index cf27782..31a4d96 100644 --- a/README.md +++ b/README.md @@ -141,3 +141,7 @@ To run the example, first: ### iOS 1. `yarn example ios` + +## Migrating from v2 to v3 + +See breaking changes in [CHANGELOG.md](CHANGELOG.md#300).