flutter_microsoft_authentication

Last updated:

0 purchases

flutter_microsoft_authentication Image
flutter_microsoft_authentication Images
Add to Cart

Description:

flutter microsoft authentication

Getting Started #
import 'package:flutter_microsoft_authentication/flutter_microsoft_authentication.dart';
...
FlutterMicrosoftAuthentication fma = FlutterMicrosoftAuthentication(
kClientID: "<client-id>",
kAuthority: "https://login.microsoftonline.com/organizations",
kScopes: ["User.Read", "User.ReadBasic.All"],
androidConfigAssetPath: "assets/auth_config.json" // Android MSAL Config file
);

// Sign in interactively
String authToken = await this.fma.acquireTokenInteractively;

// Sign in silently
String authToken = await this.fma.acquireTokenSilently;

// Sign out
await this.fma.signOut;

// Android load account username
await this.fma.loadAccount;
copied to clipboard
Flutter #
Import the Flutter Microsoft Authentication package into your flutter application by adding it to the list of dependencies in your pubsec.yaml file.
dependencies:
flutter_microsoft_authentication: ^0.1.0
copied to clipboard
Configuring MSAL for Android #



Getting Started
Library
API Reference
Support




Register your app


Create App Registration in Azure Portal
In Authentication, add Android platform and fill in your bundle id
Make note of the MSAL Configuration


Add BrowserTabActivity with RedirectUri to Android Manifest.xml

<activity android:name="com.microsoft.identity.client.BrowserTabActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="[HOST]"
android:path="/[Signature Hash]"
android:scheme="msauth" />
</intent-filter>
</activity>
copied to clipboard

Create Msal Configuration JSON file

{
"client_id": "<client id>",
"authorization_user_agent": "DEFAULT",
"redirect_uri": "<redirect uri>",
"account_mode": "SINGLE",
"broker_redirect_uri_registered": true,
"shared_device_mode_supported": true,
"authorities": [
{
"type": "<type>",
"audience": {
"type": "<type>",
"tenant_id": "<tenant id>"
}
}
]
}
copied to clipboard

Add android MSAL config file to pubspec.yaml assets

assets
- assets/auth_config.json
copied to clipboard
Configuring MSAL for iOS #
Library:
https://github.com/AzureAD/microsoft-authentication-library-for-objc

Register your app


Create App Registration in Azure Portal
In Authentication, add iOS platform and fill in your bundle id
Make note of the MSAL Configuration


Add Keychain Sharing capability


In Xcode, under your applications Signing and Capabilities, add Keychain Sharing
Keychain Group should be com.microsoft.adalcache
Completely fine to have multiple Keychain Groups
This allows MSAL to use the keychain to share Microsoft Authentication sessions


Set up URL Schemes


Add the following CFBundleURLTypes to your Info.plist file.
Remember to replace the bundle id.

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>msauth.[BUNDLE_ID]</string>
</array>
</dict>
</array>
copied to clipboard

Allow MSAL to use Microsoft Authenticator if it is installed


Add the following LSApplicationQueriesSchemes to your Info.plist file.

<key>LSApplicationQueriesSchemes</key>
<array>
<string>msauthv2</string>
<string>msauthv3</string>
</array>
copied to clipboard

Handle the redirect callback


Import MSAL

...
import MSAL
...
copied to clipboard

Within your AppDelegate.swift file add the following method

override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return MSALPublicClientApplication.handleMSALResponse(url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String)
}
copied to clipboard

Ensure that the minimum target is set to iOS 11


In Xcode, under General > Deployment info > Set the target to be no less than iOS 11

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.