Oktatóanyag: Android -alkalmazás (Kotlin) előkészítése hitelesítéshez
Ez az oktatóanyag-sorozat második oktatóanyaga, amely bemutatja, hogyan vehet fel Androidhoz készült Microsoft Authentication Library -t (MSAL) androidos (Kotlin-) alkalmazásba. Az MSAL lehetővé teszi, hogy az Android-alkalmazások hitelesítsék a felhasználókat a Microsoft Entra használatával.
Ebben az oktatóanyagban a következőket fogja elkönyvelni:
- MSAL-függőségek hozzáadása.
- Konfiguráció hozzáadása.
Előfeltételek
- Android Studio
- Ha még nem tette meg, kövesse az oktatóanyag utasításait : Android (Kotlin) mobilalkalmazás regisztrálása és konfigurálása, valamint alkalmazás regisztrálása a külső bérlőben.
- Android-projekt. Ha nem rendelkezik Android-projektel, hozza létre.
MSAL-függőségek hozzáadása
Ha MSAL-függőségeket szeretne hozzáadni androidos projektjéhez, kövesse az alábbi lépéseket:
Nyissa meg a projektet az Android Studióban, vagy hozzon létre egy új projektet.
Nyissa meg az alkalmazásait
build.gradle
, és adja hozzá a következő függőségeket: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.+' //... }
A konfigurációban az
build.gradle
adattárak a projektfüggőségekhez vannak definiálva. Tartalmaz egy Maven-adattár URL-címet a kódtárhoz azcom.microsoft.device.display:display-mask
Azure DevOpsból. Emellett a Maven Central és a Google adattárait is használja. A függőségek szakasz az MSAL 5-ös verziójának és potenciálisan más függőségeknek a megvalósítását határozza meg.Az Android Studióban válassza a Fájlszinkronizálási>projekt és a Gradle Files lehetőséget.
Konfiguráció hozzáadása
A szükséges bérlőazonosítókat, például az alkalmazás (ügyfél) azonosítóját egy JSON-konfigurációs beállítással adhatja át az MSAL SDK-nak.
A következő lépésekkel hozhat létre konfigurációs fájlt:
Az Android Studio projektpaneljén lépjen az app\src\main\res elemre.
Kattintson a jobb gombbal a res elemre, és válassza az Új>könyvtár lehetőséget. Adja meg
raw
az új könyvtárnevet, és válassza az OK gombot.Az app\src\main\res\raw alkalmazásban hozzon létre egy új JSON-fájlt.
auth_config_ciam_auth.json
A fájlban
auth_config_ciam_auth.json
adja hozzá a következő MSAL-konfigurációkat:{ "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/" } ] }
A JSON-konfigurációs fájl különböző beállításokat határoz meg egy Android-alkalmazáshoz. Tartalmazza az ügyfél-azonosítót, az engedélyezési felhasználói ügynököt, az átirányítási URI-t és a fiók módot. Emellett meghatároz egy hitelesítésszolgáltatót, amely megadja a típust és a szolgáltató URL-címét.
Cserélje le a következő helyőrzőket a Microsoft Entra felügyeleti központból beszerzett bérlői értékekre:
Enter_the_Application_Id_Here
és cserélje le a korábban regisztrált alkalmazás (ügyfél) azonosítójára .Enter_the_Redirect_Uri_Here
és cserélje le a redirect_uri értékére a microsoft authentication library (MSAL) konfigurációs fájlban, amely korábban a platform átirányítási URL-címének hozzáadásakor volt letöltve.Enter_the_Tenant_Subdomain_Here
és cserélje le a Címtár (bérlő) altartományra. Ha például a bérlő elsődleges tartománya,contoso.onmicrosoft.com
használja a következőtcontoso
: Ha nem ismeri a bérlői altartományt, olvassa el a bérlő adatait.
Nyissa meg az /app/src/main/AndroidManifest.xml fájlt.
A AndroidManifest.xml adja hozzá a következő adatspecifikációt egy szándékszűrőhöz:
<data android:host="ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE" android:path="/ENTER_YOUR_SIGNATURE_HASH_HERE" android:scheme="msauth" />
Keresse meg a helyőrzőt:
- ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE és cserélje le az Android-projektcsomag nevére.
- ENTER_YOUR_SIGNATURE_HASH_HERE és cserélje le a platform átirányítási URL-címének hozzáadásakor korábban létrehozott aláíráskivonatra.
Egyéni URL-tartomány használata (nem kötelező)
Használjon egyéni tartományt a hitelesítési URL-cím teljes márkajelzéséhez. Felhasználói szempontból a felhasználók a hitelesítési folyamat során a tartományon maradnak, ahelyett, hogy ciamlogin.com tartománynévre irányítanák át őket.
Egyéni tartományt az alábbi lépésekkel használhat:
Az egyéni URL-tartományok engedélyezése külső bérlőkben lévő alkalmazások számára című témakörben leírt lépésekkel engedélyezheti az egyéni URL-tartományt a külső bérlő számára.
Nyissa meg auth_config_ciam_auth.json fájlt:
- Frissítse a tulajdonság értékét a
authority_url
következőre https://Enter_the_Custom_Domain_Here/Enter_the_Tenant_ID_Here: . Cserélje leEnter_the_Custom_Domain_Here
az egyéni URL-tartományra ésEnter_the_Tenant_ID_Here
a bérlőazonosítóra. Ha nem rendelkezik a bérlőazonosítójával, olvassa el a bérlő adatait. - Adjon hozzá
knownAuthorities
tulajdonságot [Enter_the_Custom_Domain_Here] értékkel.
- Frissítse a tulajdonság értékét a
A auth_config_ciam_auth.json fájl módosítása után, ha az egyéni URL-tartomány login.contoso.com, és a bérlőazonosítója aaaabbbb-0000-cccc-1111-ddddd2222eeee, akkor a fájlnak az alábbi kódrészlethez hasonlóan kell kinéznie:
{
"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"]
}
]
}
MSAL SDK-példány létrehozása
Az MSAL SDK-példány inicializálásához használja a következő kódot:
private suspend fun initClient(): ISingleAccountPublicClientApplication = withContext(Dispatchers.IO) {
return@withContext PublicClientApplication.createSingleAccountPublicClientApplication(
this@MainActivity,
R.raw.auth_config_ciam_auth
)
}
A kód aszinkron módon inicializál egy nyilvános ügyfélalkalmazást. A megadott hitelesítési konfigurációs fájlt használja, és az I/O-diszpécseren fut.
Győződjön meg arról, hogy tartalmazza az importálási utasításokat. Az Android Studiónak automatikusan tartalmaznia kell az importálási utasításokat.
Következő lépések
Oktatóanyag: Felhasználók bejelentkezése Android (Kotlin) mobilalkalmazásban