Kurz: Příprava aplikace pro Android (Kotlin) na ověřování
Toto je druhý kurz v sérii kurzů, který ukazuje, jak do aplikace Android (Kotlin) přidat knihovnu Microsoft Authentication Library (MSAL) pro Android. MSAL umožňuje aplikacím pro Android ověřovat uživatele pomocí Microsoft Entra.
V tomto kurzu:
- Přidejte závislosti MSAL.
- Přidat konfiguraci.
Požadavky
- Android Studio
- Pokud jste to ještě neudělali, postupujte podle pokynů v kurzu: Registrace a konfigurace mobilní aplikace pro Android (Kotlin) a registrace aplikace ve vašem externím tenantovi.
- Projekt Pro Android. Pokud projekt Pro Android nemáte, vytvořte ho.
Přidání závislostí MSAL
Pokud chcete do projektu Androidu přidat závislosti MSAL, postupujte takto:
Otevřete projekt v Android Studiu nebo vytvořte nový projekt.
Otevřete aplikaci
build.gradle
a přidejte následující závislosti:allprojects { repositories { //Needed for com.microsoft.device.display:display-mask library maven { url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1' name 'Duo-SDK-Feed' } mavenCentral() google() } } //... dependencies { implementation 'com.microsoft.identity.client:msal:5.+' //... }
build.gradle
V konfiguraci jsou úložiště definována pro závislosti projektu. Obsahuje adresu URL úložiště Maven pro knihovnucom.microsoft.device.display:display-mask
z Azure DevOps. Kromě toho využívá centrální úložiště Maven a Google. Část závislosti určuje implementaci knihovny MSAL verze 5 a potenciálně i jiné závislosti.V Android Studiu vyberte Projekt synchronizace souborů>se soubory Gradle.
Přidání konfigurace
Požadované identifikátory tenanta, jako je ID aplikace (klienta), předáte sadě MSAL SDK prostřednictvím nastavení konfigurace JSON.
K vytvoření konfiguračního souboru použijte tento postup:
V podokně projektu Android Studia přejděte na app\src\main\res.
Klikněte pravým tlačítkem myši na možnost Res a vyberte Nový>adresář. Zadejte
raw
jako název nového adresáře a vyberte OK.V aplikaci\src\main\res\raw vytvořte nový soubor JSON s názvem
auth_config_ciam_auth.json
.auth_config_ciam_auth.json
Do souboru přidejte následující konfigurace MSAL:{ "client_id" : "Enter_the_Application_Id_Here", "authorization_user_agent" : "DEFAULT", "redirect_uri" : "Enter_the_Redirect_Uri_Here", "account_mode" : "SINGLE", "authorities" : [ { "type": "CIAM", "authority_url": "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/Enter_the_Tenant_Subdomain_Here.onmicrosoft.com/" } ] }
Konfigurační soubor JSON určuje různá nastavení pro aplikaci pro Android. Zahrnuje ID klienta, autorizačního uživatelského agenta, identifikátor URI přesměrování a režim účtu. Kromě toho definuje autoritu pro ověřování a určuje typ a adresu URL autority.
Nahraďte následující zástupné symboly hodnotami tenanta, které jste získali z Centra pro správu Microsoft Entra:
Enter_the_Application_Id_Here
a nahraďte ho ID aplikace (klienta), kterou jste zaregistrovali dříve.Enter_the_Redirect_Uri_Here
a nahraďte ji hodnotou redirect_uri v konfiguračním souboru knihovny MSAL (Microsoft Authentication Library), který jste stáhli dříve při přidání adresy URL pro přesměrování platformy.Enter_the_Tenant_Subdomain_Here
a nahraďte ji subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenantacontoso.onmicrosoft.com
, použijtecontoso
. Pokud subdoménu tenanta neznáte, přečtěte si, jak si přečíst podrobnosti o tenantovi.
Otevřete soubor /app/src/main/AndroidManifest.xml .
Do AndroidManifest.xml přidejte do filtru záměru následující specifikaci dat:
<data android:host="ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE" android:path="/ENTER_YOUR_SIGNATURE_HASH_HERE" android:scheme="msauth" />
Vyhledejte zástupný symbol:
- ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE a nahraďte ho názvem balíčku projektu androidu.
- ENTER_YOUR_SIGNATURE_HASH_HERE a nahraďte ji hodnotou Hash podpisu, kterou jste předtím vygenerovali při přidání adresy URL pro přesměrování platformy.
Použití vlastní domény URL (volitelné)
Pomocí vlastní domény plně označte adresu URL ověřování. Z pohledu uživatele zůstanou uživatelé ve vaší doméně během procesu ověřování místo přesměrování na ciamlogin.com název domény.
Pomocí následujících kroků použijte vlastní doménu:
Pomocí kroků v části Povolit vlastní domény URL pro aplikace v externích tenantech povolte pro externího tenanta vlastní doménu URL.
Otevřete soubor auth_config_ciam_auth.json :
- Aktualizujte hodnotu
authority_url
vlastnosti na https://Enter_the_Custom_Domain_Here/Enter_the_Tenant_ID_Herehodnotu . NahraďteEnter_the_Custom_Domain_Here
vlastní doménou URL aEnter_the_Tenant_ID_Here
ID tenanta. Pokud nemáte ID tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi. - Přidejte
knownAuthorities
vlastnost s hodnotou [Enter_the_Custom_Domain_Here].
- Aktualizujte hodnotu
Po provedení změn v souboru auth_config_ciam_auth.json , pokud je vaše vlastní doména URL login.contoso.com a ID vašeho tenanta je aaaabbbbbb-0000-cccc-1111-dddd2222eeeee, měl by váš soubor vypadat podobně jako následující fragment kódu:
{
"client_id" : "Enter_the_Application_Id_Here",
"authorization_user_agent" : "DEFAULT",
"redirect_uri" : "Enter_the_Redirect_Uri_Here",
"account_mode" : "SINGLE",
"authorities" : [
{
"type": "CIAM",
"authority_url": "https://login.contoso.com/aaaabbbb-0000-cccc-1111-dddd2222eeee",
"knownAuthorities": ["login.contoso.com"]
}
]
}
Vytvoření instance sady MSAL SDK
K inicializaci instance sady MSAL SDK použijte následující kód:
private suspend fun initClient(): ISingleAccountPublicClientApplication = withContext(Dispatchers.IO) {
return@withContext PublicClientApplication.createSingleAccountPublicClientApplication(
this@MainActivity,
R.raw.auth_config_ciam_auth
)
}
Kód inicializuje jednu veřejnou klientskou aplikaci účtu asynchronně. Používá zadaný konfigurační soubor ověřování a spouští se na dispečeru vstupně-výstupních operací.
Nezapomeňte zahrnout příkazy importu. Android Studio by měl automaticky obsahovat příkazy pro import.
Další kroky
Kurz: Přihlášení uživatelů v mobilní aplikaci Android (Kotlin)