Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Identity a ověřování Microsoftu (MSAL) pro Android je knihovna, která umožňuje aplikacím pro Android ověřovat uživatele pomocí Microsoft identity platform (dříve Azure Active Directory) a přistupovat k chráněným webovým rozhraním API pomocí protokolů OAuth2 a OpenID Connect. MSAL Android umožňuje vývojářům získávat tokeny zabezpečení z Microsoft identity platform k ověřování uživatelů a přístupu k zabezpečeným webovým rozhraním API pro své aplikace založené na Androidu.
MSAL Android podporuje více scénářů ověřování, jako je jednotné přihlašování (SSO), podmíněný přístup a zprostředkované ověřování. Umožňuje snadno cílit na několik identit, včetně Microsoft Entra ID (pracovní a školní účty), účtů Microsoft (Outlook.com, hotmail.com a několika dalších) nebo Azure AD B2C (účty sociálních a místních).
Pokyny zde jsou určené k dokumentaci běžných funkcí souvisejících s MSAL Androidem. Pokud hledáte další nápovědu, jak začít s Microsoft Entra ID, účty Microsoft nebo Azure AD B2C, podívejte se na Microsoft identity platform dokumentaci. Pokud hledáte další informace o Microsoft Graph API, podívejte se na Microsoft Graph dokumentaci.
Nativní podpora ověřování v MSAL
MSAL Android také umožňuje implementovat nativní prostředí ověřování s komplexními přizpůsobitelnými toky v mobilních aplikacích. Díky nativnímu ověřování jsou uživatelé provedeni bohatým nativním procesem registrace a přihlášení s důrazem na mobilní zařízení, aniž by museli opustit aplikaci. Nativní funkce ověřování je dostupná jenom pro mobilní aplikace na externím ID pro zákazníky.
Migrace z ověřovací knihovny Azure Active Directory Authentication Library (ADAL)
Knihovna Azure Active Directory Authentication Library (ADAL) pro Android byla s účinností od června 2023 označena jako zastaralá. Pokud vy nebo vaše organizace používáte knihovnu Azure Active Directory Authentication Library (ADAL) pro Android, měli byste migrovat na MSAL Android, abyste se vyhnuli ohrožení zabezpečení vaší aplikace. Identity a ověřování Microsoftu (MSAL) pro Android je podporovaná knihovna, kterou lze použít k ověřování a získávání tokenů.
Začínáme s MSAL Androidem
Pokud chcete ve své aplikaci používat MSAL Android, musíte:
- Zaregistrujte aplikaci v Microsoft Entra ID.
- Seznamte se s typy klientských aplikací: veřejnými klienty a důvěrnými klienty.
Vzhledem k tomu, že MSAL Android podporuje prostředí delegovaného prohlížeče i nativního ověřování, postupujte podle kroků v následujících kurzech podle vašeho scénáře.
Scénáře ověřování delegovaného prohlížečem najdete v článku Rychlý start, Přihlášení uživatelů a volání Microsoft Graph z aplikace pro Android.
Informace o nativních scénářích ověřování najdete v ukázkové příručce k Microsoft Entra Externí ID kurzu: Příprava aplikace pro Android na nativní ověřování.
Requirements
- Minimální verze sady SDK 16 nebo novější
- Verze cílové sady SDK 33 a vyšší
Krok 1: Deklarujte závislost na knihovně MSAL
Přidejte do souboru build.gradle vaší aplikace:
dependencies {
implementation 'com.microsoft.identity.client:msal:4.9.+'
}
Do oddílu úložišť přidejte do skriptu gradle také následující řádky:
maven {
url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
}
Krok 2: Vytvoření konfiguračního souboru MSAL
Ověřování delegované prohlížečem:
V projektu vytvořte konfigurační soubor jako "nezpracovaný" zdroj. Při vytváření instance PublicClientApplication na něj odkazujte pomocí vygenerovaného identifikátoru prostředku. Pokud aplikaci registrujete v Centrum pro správu Microsoft Entra poprvé, zobrazí se vám také podrobný konfigurační soubor MSAL Pro Android.
{
"client_id" : "<YOUR_CLIENT_ID>",
"redirect_uri" : "msauth://<YOUR_PACKAGE_NAME>/<YOUR_BASE64_URL_ENCODED_PACKAGE_SIGNATURE>",
"broker_redirect_uri_registered": true,
}
V redirect_uri výraz <YOUR_PACKAGE_NAME> odkazuje na název balíčku vrácený metodou context.getPackageName(). Tento název balíčku je stejný jako application_id název definovaný v souboru build.gradle .
Výše uvedené hodnoty představují minimální požadovanou konfiguraci. MSAL pro všechna ostatní nastavení používá výchozí hodnoty dodávané s knihovnou. Vysvětlení výchozích hodnot knihovny najdete v dokumentaci ke konfiguračnímu souboru MSAL Pro Android .
Nativní ověřování:
- Klikněte pravým tlačítkem myši na možnost Res a zvolte Nový > adresář. Zadejte jako nový název adresáře „raw“ a vyberte možnost OK.
- V této nové složce (app > src > main > res > raw) vytvořte nový soubor JSON s názvem auth_config_native_auth.json a vložte následující šablonu konfigurace MSAL:
{
"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
}
}
Krok 3: Konfigurace AndroidManifest.xml pro delegované ověřování v prohlížeči
- Vyžádání následujících oprávnění prostřednictvím manifestu Androidu
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- Nakonfigurujte v manifestu Androidu filtr intentů pomocí identifikátoru URI pro přesměrování
Selhání zahrnutí filtru záměru odpovídajícího identifikátoru URI přesměrování, který zadáte prostřednictvím konfigurace, způsobí selhání interaktivního požadavku na token.
<!--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>
Další informace o běžných problémech s identifikátorem URI pro přesměrování najdete v dokumentu MSAL Android FAQ.
ProGuard
MSAL používá reflexi a obecné informace o typu uložené v .class souborech za běhu k podpoře různých funkcí souvisejících s trvalostí a serializací. Podpora minifikace a obfuskace v knihovně je omezená. S touto knihovnou se dodává výchozí konfigurace; Pokud narazíte na nějaké problémy, zapište problém .
Recommendation
MSAL je bezpečnostní knihovna. Určuje, jak se uživatelé přihlašují a přistupují ke službám. Doporučujeme, abyste si ve své aplikaci vždy vzali nejnovější verzi naší knihovny, až budete moct. Používáme sémantickou správu verzí , abyste mohli řídit riziko aktualizace aplikace. Například vždy stahovat nejnovější číslo vedlejší verze (např. x.y.x) zaručuje, že získáte nejnovější bezpečnostní vylepšení a rozšíření funkcí a zároveň máte jistotu, že se rozsah našeho API nezměnil. Nejnovější verzi a poznámky k verzi můžete kdykoli zobrazit na kartě Vydané verze GitHub.