NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2247 most downloaded on pub.dev
A comprehensive Flutter plugin for managing Microsoft authentication using the native Microsoft Authentication Library (MSAL).
Last release 1 months ago
26 Aug 2026
Ships unpredictably
gaps range from 8 days to 8 months
Nearly every release is documented
notes for 39 of 39 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
39 releases · first in 2024
Pin the Swift MSAL library to 2.14.1 and prevent updates beyond this version to avoid native min deployment target breaking changes. #issue/151
2.14.1 and prevent updates beyond this version to avoid native min deployment target breaking changes. #issue/151Added optional redirectUri in AppleConfig for iOS/MacOS. When provided, MSAL uses it directly instead of deriving the default msauth.<bundle-id> redir
redirectUri in AppleConfig for iOS/MacOS. When provided, MSAL uses it directly instead of deriving the default msauth.<bundle-id> redirect, which fails with teamId is missing on some managed devices. Keeping it null preserves the existing behaviour. #issue/145AppleConfig.broker is now applied on MacOS as well (earlier it was iOS only). Setting it to webView / safariBrowser disables the Microsoft SSO extension and routes authentication through the web view. #issue/145One column per month.
Fixed issue of IllegalStateException: Reply already submitted crash due to multiple account callback from Android to Dart. #issue/116
IllegalStateException: Reply already submitted crash due to multiple account callback from Android to Dart. #issue/116MsalNoCurrentAccountException in Dart to handle absence of signed-in account. #issue/141Added support for Swift Package Manager on iOS and macOS. #issue/132
Swift Package Manager on iOS and macOS. #issue/132getCurrentAccount implementation so acquireTokenSilent and signOut correctly wait for the asynchronous callback. #issue/129Fixed an Android release build issue caused by missing ProGuard rule mappings in the Android library. #issue/135
Updated native MSAL SDK versions: Android: 8.3.+ and iOS & macOS: 2.11.0
8.3.+ and iOS & macOS: 2.11.0MSALPublicClientApplication.handleMSALResponse for iOS URL callbacks via both AppDelegate and SceneDelegate, removing the need for manual integration in host apps.PublicClientApplication class. #issue/126Created AppTheme style in the example app for MSAL WebView in Android. #issue/119
AppTheme style in the example app for MSAL WebView in Android. #issue/119Fixed issue of authorityType value assignment in iOS/MacOS. #issue/118
authorityType value assignment in iOS/MacOS. #issue/118Fixed MSAL error conversion in Dart due to nil details received from iOS/MacOS.
Dart due to nil details received from iOS/MacOS.Fixed an issue on iOS where the Authenticator app did not open when switching the broker to Authenticator .
iOS where the Authenticator app did not open when switching the broker to Authenticator.Operation couldn't be completed.AuthenticationResult (Android): Fixed username value in account mapping. username value will be null instead of Missing from token response if not found.Handle UI unavailable error in acquireToken method and adjust view controller retrieval logic. #issue/101
acquireToken method and adjust view controller retrieval logic. #issue/101authority parameter support for acquireToken and acquireTokenSilent methods. #issue/91Fixed an issue causing MsalUiRequiredException due to an internal call to acquireTokenSilent within the acquireToken method during native calls. #issu
MsalUiRequiredException due to an internal call to acquireTokenSilent within the acquireToken method during native calls. #issue/82Fixed an issue of broker in iOS due to broker availability was set to auto in the acquireToken method.
acquireToken method.Updated example app to use the signature hash programmatically instead of hardcoding it in AndroidManifest.xml.
example app to use the signature hash programmatically instead of hardcoding it in AndroidManifest.xml.example/README for detailed instructions on how to set up the example app.AndroidManifest.xml.ProGuard setup within this plugin.Android: 6.0.1 (Version fixed to ensure each release of msal_auth consistently uses a specific native MSAL version)
6.0.1 (Version fixed to ensure each release of msal_auth consistently uses a specific native MSAL version)2.2.0Gradle syntax with updated Kotlin and Gradle wrapper version.Fixed an issue in iOS: "Unable to create public client application" when the app doesn't specify LSApplicationQueriesSchemes in Info.plist. #issue/80
Fixed an issue of casting List to List in the MsalDeclinedScopeException. #issue/83
Fixed a crash when opening the app from TestFlight on iOS. #issue/25
Upgrade Android configuration to support latest Gradle version.
Made the name nullable in Account class because it may be null if the user is registered without setting a name.
name nullable in Account class because it may be null if the user is registered without setting a name.msal_config.json.Added support for the macOS platform.
macOS platform.IosConfig class has been renamed to AppleConfig and now this configuration class supports iOS and macOS. broker property of this class is used only for iOS.Added Account Mode related instructions for Android in the README & fixed Dart analysis.
Account Mode related instructions for Android in the README & fixed Dart analysis.Added support of single and multiple account mode.
Added support of single and multiple account mode.
Added new classes & methods based on account mode:
Added redirectUri in AndroidConfig class as a required parameter.
Added identifier option in acquireTokenSilent() that is required for multiple account mode.
Defined all the possible exceptions in Dart side that can be thrown by native MSAL SDK.
Example app is completely re-written to showcase all the features.
BREAKING CHANGES:
MsalAuth.createPublicClientApplication is removed and added 3 classes:
PublicClientApplication super class.SingleAccountPca for single account mode.
SingleAccountPca.create() is used to create single account public client application.MultipleAccountPca for multiple account mode.
MultipleAccountPca.create() is used to create multiple account public client application.tenantId from AndroidConfig is removed because it can be set through JSON configuration file.AuthMiddleware enum in IosConfig is renamed to Broker.TenantType enum in IosConfig is renamed to AuthorityType with it's values:
entraIDAndMicrosoftAccount to aad.azureADB2C to b2c.scopes argument is moved to acquireToken() & acquireTokenSilent() methods. these methods are now part of PublicClientApplication class.logout() is removed so signOut() or removeAccount() is used based on your account mode.MsalUser class is replaced by AuthenticationResult with additional parameters.MsalUserCanceledException is renamed to MsalUserCancelException.Added keychain group com.microsoft.adalcache in example/ios and updated instruction in README.
com.microsoft.adalcache in example/ios and updated instruction in README.Moved loginHint param to acquireToken function.
loginHint param to acquireToken function.Prompt option in acquireToken function.Updated README for login process stuck on iOS due to missing callback handling. issue#26, issue#33
Fixed issue of activity is null when FlutterFragmentActivity is used in MainActivity.kt
activity is null when FlutterFragmentActivity is used in MainActivity.ktAdded idToken param in MsalUser class.
idToken param in MsalUser class.- Added support of loginHint.
loginHint.Added support for authenticating against Azure AD B2C tenants on iOS.
Fixed crash in Android when MsalUiRequiredException occurs.
MsalUiRequiredException occurs.authority used in iOS.example code.Fixed Dart Analysis in model classes.
Dart Analysis in model classes.Added documentation for How to setup app in Azure portal.
How to setup app in Azure portal.Added documentation for broker authentication.
- Added documentation.
- Fixed Dart Analysis
Dart Analysis- Added Dart Analysis
Dart AnalysisSet tokenExpiresOn value as a milliseconds since epoch.
tokenExpiresOn value as a milliseconds since epoch.- Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →