![]() |
VOOZH | about |
dotnet add package SharedDeviceMode.Android.MSAL.Binding --version 1.0.1-net8.0
NuGet\Install-Package SharedDeviceMode.Android.MSAL.Binding -Version 1.0.1-net8.0
<PackageReference Include="SharedDeviceMode.Android.MSAL.Binding" Version="1.0.1-net8.0" />
<PackageVersion Include="SharedDeviceMode.Android.MSAL.Binding" Version="1.0.1-net8.0" />Directory.Packages.props
<PackageReference Include="SharedDeviceMode.Android.MSAL.Binding" />Project file
paket add SharedDeviceMode.Android.MSAL.Binding --version 1.0.1-net8.0
#r "nuget: SharedDeviceMode.Android.MSAL.Binding, 1.0.1-net8.0"
#:package SharedDeviceMode.Android.MSAL.Binding@1.0.1-net8.0
#addin nuget:?package=SharedDeviceMode.Android.MSAL.Binding&version=1.0.1-net8.0&prereleaseInstall as a Cake Addin
#tool nuget:?package=SharedDeviceMode.Android.MSAL.Binding&version=1.0.1-net8.0&prereleaseInstall as a Cake Tool
Binding library for MSAL (Microsoft Authentication Library) Android Shared Device Mode (SDM) targeting .NET 8.0.
This NuGet package provides a .NET binding for the MSAL Android SDK with Shared Device Mode support. It enables .NET MAUI and Xamarin.Android applications to use MSAL authentication features on Android devices configured for shared device scenarios.
Install the package via NuGet Package Manager:
dotnet add package SharedDeviceMode.Android.MSAL.Binding --version 1.0.0-net8.0
Or via Package Manager Console:
Install-Package SharedDeviceMode.Android.MSAL.Binding -Version 1.0.0-net8.0
net8.0-android34.0 or compatibleusing MSAL.SDM.Android.Binding;
using Android.Content;
// Initialize the wrapper
var context = Android.App.Application.Context;
var msalWrapper = new MSALSDMWrapperAsync(context);
// Configure MSAL parameters
msalWrapper.Configure(
clientId: "your-client-id",
tenantId: "your-tenant-id",
scope: "user.read",
returnUri: "msauth://your.package.name/your-signature-hash"
);
bool isSDM = msalWrapper.IsSharedDeviceMode();
if (isSDM)
{
// Device is in Shared Device Mode
// Use SDM-specific features
}
string? currentUser = msalWrapper.GetCurrentUser();
try
{
var result = await msalWrapper.SignInSilentAsync();
string accessToken = result.AccessToken;
string username = result.Username;
}
catch (Exception ex)
{
// Handle error or fall back to interactive sign in
}
try
{
var result = await msalWrapper.SignInInteractiveAsync();
string accessToken = result.AccessToken;
string username = result.Username;
}
catch (OperationCanceledException)
{
// User cancelled the sign in
}
catch (Exception ex)
{
// Handle error
}
try
{
string accessToken = await msalWrapper.GetAccessTokenAsync();
}
catch (Exception ex)
{
// Handle error
}
try
{
await msalWrapper.SignOutAsync();
}
catch (Exception ex)
{
// Handle error
}
This package includes the following dependencies:
This package targets .NET 8.0. The version suffix -net8.0 indicates the target framework.
When upgrading to .NET 9, look for packages with version suffix -net9.0.
This project is licensed under the MIT License - see the file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-android34.0 net8.0-android34.0 is compatible. net9.0-android net9.0-android was computed. net10.0-android net10.0-android was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-net8.0 | 183 | 11/25/2025 |
| 1.0.0-net8.0 | 362 | 11/25/2025 |