Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsofts autentiseringsbibliotek (MSAL) för Android är ett bibliotek som gör det möjligt för Android-program att autentisera användare med Microsofts identitetsplattform (tidigare Azure Active Directory) och få åtkomst till skyddade webb-API:er med hjälp av OAuth2- och OpenID Connect-protokoll. MED MSAL Android kan utvecklare hämta säkerhetstoken från Microsofts identitetsplattform för att autentisera användare och få åtkomst till säkra webb-API:er för sina Android-baserade program.
MSAL Android stöder flera autentiseringsscenarier, till exempel enkel inloggning (SSO), villkorlig åtkomst och asynkron autentisering. Det gör att du enkelt kan rikta in dig på flera identiteter, inklusive Microsoft Entra ID (arbets- och skolkonton), Microsoft-konton (Outlook.com, hotmail.com och flera andra) eller Azure AD B2C (sociala och lokala konton).
Vägledningen här är avsedd att dokumentera vanliga funktioner som rör MSAL Android. Om du vill ha mer hjälp med att komma igång med Microsoft Entra ID, Microsoft-konton eller Azure AD B2C kan du läsa Microsofts identitetsplattform dokument. Om du letar efter mer information om Microsoft Graph-API:et kan du läsa Microsoft Graph dokument.
Stöd för intern autentisering i MSAL
MED MSAL Android kan du också implementera en intern autentiseringsupplevelse med anpassningsbara flöden från slutpunkt till slutpunkt i mobila program. Med intern autentisering vägleds användarna genom en omfattande, intern, mobil första registrering och inloggningsresa utan att lämna appen. Den interna autentiseringsfunktionen är endast tillgänglig för mobilappar på externt ID för kunder.
Migrera från Azure Active Directory Authentication Library (ADAL)
ADAL (Azure Active Directory Authentication Library) för Android har upphört att gälla från och med juni 2023. Om du eller din organisation använder Azure Active Directory Authentication Library (ADAL) för Android bör du migrera till MSAL Android för att undvika att riskera din apps säkerhet. Microsofts autentiseringsbibliotek (MSAL) för Android är det bibliotek som stöds och som kan användas för autentisering och tokenförvärv.
Komma igång med MSAL Android
Om du vill använda MSAL Android i ditt program måste du:
- Registrera din app med Microsoft Entra ID.
- Lär dig mer om typer av klientprogram: offentliga klienter och konfidentiella klienter.
Eftersom MSAL Android stöder både webbläsardelegering och inbyggda autentiseringsupplevelser följer du stegen i följande självstudier baserat på ditt scenario.
För webbläsardelegerade autentiseringsscenarier, se snabbstarten Logga in användare och anropa Microsoft Graph från en Android-app.
Information om interna autentiseringsscenarier finns i exempelguiden för Microsoft Entra External ID, Självstudie: Förbereda din Android-app för intern autentisering.
Krav
- Minsta SDK-version 16+
- Mål-SDK-version 33+
Steg 1: Deklarera beroende av MSAL
Lägg till i appens build.gradle:
dependencies {
implementation 'com.microsoft.identity.client:msal:4.9.+'
}
Lägg också till följande rader i avsnittet lagringsplatser i ditt gradle-skript:
maven {
url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
}
Steg 2: Skapa msal-konfigurationsfilen
Webbläsardelegerad autentisering:
Skapa konfigurationsfilen som en "rå" resurs i projektet. Referera till den med hjälp av den genererade resursidentifieraren när du skapar en PublicClientApplication instans.. Om du registrerar din app i Microsoft Entra administrationscenter för första gången får du även den detaljerade MSAL Android-konfigurationsfilen
{
"client_id" : "<YOUR_CLIENT_ID>",
"redirect_uri" : "msauth://<YOUR_PACKAGE_NAME>/<YOUR_BASE64_URL_ENCODED_PACKAGE_SIGNATURE>",
"broker_redirect_uri_registered": true,
}
I redirect_uri refererar <YOUR_PACKAGE_NAME> till paketnamnet som returneras av metoden context.getPackageName(). Det här paketnamnet är samma som det application_id som definierats i build.gradle filen.
Värdena ovan är den minsta konfiguration som krävs. MSAL förlitar sig på de standardvärden som levereras med biblioteket för alla andra inställningar. Se dokumentationen för MSAL Android-konfigurationsfilen för att förstå standardinställningarna för biblioteket.
Intern autentisering:
- Högerklicka på res och välj Ny > katalog. Ange raw som det nya katalognamnet och välj OK.
- I den här nya mappen (app > src > main > res > raw) skapar du en ny JSON-fil med namnet auth_config_native_auth.json och klistrar in följande mall MSAL-konfiguration:
{
"client_id": "Enter_the_Application_Id_Here",
"authorities": [
{
"type": "CIAM",
"authority_url": "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/Enter_the_Tenant_Subdomain_Here.onmicrosoft.com/"
}
],
"challenge_types": ["oob"],
"logging": {
"pii_enabled": false,
"log_level": "INFO",
"logcat_enabled": true
}
}
Steg 3: Konfigurera AndroidManifest.xml för webbläsardelad autentisering
- Begär följande behörigheter via Android-manifestet
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- Konfigurera ett avsiktsfilter i Android-manifestet med hjälp av din omdirigerings-URI
Om du inte inkluderar ett avsiktsfilter som matchar den omdirigerings-URI som du anger via konfigurationen resulterar det i en misslyckad interaktiv tokenbegäran.
<!--Intent filter to capture authorization code response from the default browser on the device calling back to our app after interactive sign in -->
<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:scheme="msauth"
android:host="<YOUR_PACKAGE_NAME>"
android:path="/<YOUR_BASE64_ENCODED_PACKAGE_SIGNATURE>" />
</intent-filter>
</activity>
Du kan läsa vanliga frågor och svar om MSAL Android om du vill ha mer information om vanliga omdirigeringsproblem.
ProGuard
MSAL använder reflektions- och allmän typinformation som lagras i .class filer vid körning för att stödja olika beständighets- och serialiseringsrelaterade funktioner. Biblioteksstöd för minifiering och fördunkling är begränsat. En standardkonfiguration levereras med det här biblioteket. ange ett problem om du hittar några problem.
Recommendation
MSAL är ett säkerhetsbibliotek. Den styr hur användare loggar in och får åtkomst till tjänster. Vi rekommenderar att du alltid tar den senaste versionen av vårt bibliotek i din app när du kan. Vi använder semantisk versionshantering så att du kan kontrollera risken för att uppdatera din app. Om du till exempel alltid laddar ned det senaste delversionsnumret (t.ex. x.y.x) får du de senaste säkerhets- och funktionshanteringarna med försäkran om att vår API-yta inte har ändrats. Du kan alltid se den senaste versionen och viktig information under fliken Versioner i GitHub.