Android Microsoft Authentication Library konfigurációs fájl
Az Android Microsoft Authentication Library (MSAL) egy alapértelmezett konfigurációs JSON-fájllal rendelkezik, amelyet testre szabva határozza meg a nyilvános ügyfélalkalmazás viselkedését olyan dolgok esetében, mint például az alapértelmezett szolgáltató, a használni kívánt hatóságok stb.
Ez a cikk segít megérteni a konfigurációs fájl különböző beállításait, valamint azt, hogy miként adhatja meg az MSAL-alapú alkalmazásban használni kívánt konfigurációs fájlt.
Konfigurációs beállítások
Általános beállítások
Tulajdonság | Adattípus | Kötelező | Jegyzetek |
---|---|---|---|
client_id |
Sztring | Igen | Az alkalmazás ügyfél-azonosítója az alkalmazásregisztrációs oldalról |
redirect_uri |
Sztring | Igen | Az alkalmazás átirányítási URI-ja az alkalmazásregisztrációs oldalról |
broker_redirect_uri_registered |
Logikai | Nem | Lehetséges értékek: true , false |
authorities |
Listaszolgáltató<> | Nem | Az alkalmazás által igényelt hatóságok listája |
authorization_user_agent |
AuthorizationAgent (enumerálás) | Nem | Lehetséges értékek: WEBVIEW , BROWSER |
http |
HttpConfiguration | Nem | Konfigurálás HttpUrlConnection connect_timeout és read_timeout |
logging |
LoggingConfiguration | Nem | Megadja a naplózás részletességi szintjét. Az opcionális konfigurációk a következők: pii_enabled , amely logikai értéket vesz fel, és log_level , amely , ERROR WARNING INFO vagy VERBOSE . |
ügyfél azonosítója
Az alkalmazás regisztrálásakor létrehozott ügyfél- vagy alkalmazásazonosító.
redirect_uri
Az alkalmazás regisztrálásakor regisztrált átirányítási URI. Ha az átirányítási URI egy közvetítőalkalmazásra vonatkozik, tekintse meg a nyilvános ügyfélalkalmazások átirányítási URI-ját, hogy biztosan a megfelelő átirányítási URI-formátumot használja-e a közvetítőalkalmazáshoz.
broker_redirect_uri_registered
Ha közvetítőalapú hitelesítést szeretne használni, a tulajdonságot true
a broker_redirect_uri_registered
következőre kell állítani: . Közvetítőalapú hitelesítési forgatókönyv esetén, ha az alkalmazás nem a megfelelő formátumban beszél a közvetítővel a nyilvános ügyfélalkalmazások átirányítási URI-jában leírtak szerint, az alkalmazás ellenőrzi az átirányítási URI-t, és kivételt vet ki az indításkor.
Hatóságok
Az Ön által ismert és megbízható hatóságok listája. Az itt felsorolt hatóságok mellett az MSAL a Microsofttól is lekérdezi a Microsoft által ismert felhők és hatóságok listáját. A hatóságok listájában adja meg a szolgáltató típusát és az olyan további választható paramétereket, mint "audience"
például az, amely az alkalmazás regisztrációja alapján igazodik az alkalmazás célközönségéhez. A következő egy példa a hatóságok listájára:
// Example AzureAD and Personal Microsoft Account
{
"type": "AAD",
"audience": {
"type": "AzureADandPersonalMicrosoftAccount"
},
"default": true // Indicates that this is the default to use if not provided as part of the acquireToken call
},
// Example AzureAD My Organization
{
"type": "AAD",
"audience": {
"type": "AzureADMyOrg",
"tenant_id": "contoso.com" // Provide your specific tenant ID here
}
},
// Example AzureAD Multiple Organizations
{
"type": "AAD",
"audience": {
"type": "AzureADMultipleOrgs"
}
},
//Example PersonalMicrosoftAccount
{
"type": "AAD",
"audience": {
"type": "PersonalMicrosoftAccount"
}
}
Microsoft Entra-szolgáltató és célközönség leképezése Microsoft Identitásplatform végpontokhoz
Típus | Célközönség | Bérlőazonosító | Authority_Url | Eredményként kapott végpont | Jegyzetek |
---|---|---|---|---|---|
Microsoft Entra ID | AzureADandPersonalMicrosoftAccount | https://login.microsoftonline.com/common |
common a fiókhoz tartozó bérlői alias. Ilyen például egy adott Microsoft Entra-bérlő vagy a Microsoft-fiókrendszer. |
||
Microsoft Entra ID | AzureADMyOrg | contoso.com | https://login.microsoftonline.com/contoso.com |
Jogkivonatot csak az contoso.com rendelkező fiókok szerezhetnek be. Bármely ellenőrzött tartomány vagy a bérlői GUID használható bérlőazonosítóként. | |
Microsoft Entra ID | AzureADMultipleOrgs | https://login.microsoftonline.com/organizations |
Ezzel a végponttal csak Microsoft Entra-fiókok használhatók. A Microsoft-fiókok lehetnek szervezetek tagjai. Ha microsoftos fiókkal szeretne jogkivonatot beszerezni egy szervezet erőforrásához, adja meg azt a szervezeti bérlőt, amelyből a jogkivonatot használni szeretné. | ||
Microsoft Entra ID | PersonalMicrosoftAccount | https://login.microsoftonline.com/consumers |
Ezt a végpontot csak Microsoft-fiókok használhatják. | ||
B2C | Lásd az eredményként kapott végpontot | https://login.microsoftonline.com/tfp/contoso.onmicrosoft.com/B2C_1_SISOPolicy/ |
Jogkivonatot csak a contoso.onmicrosoft.com bérlőben lévő fiókok szerezhetnek be. Ebben a példában a B2C-szabályzat a Szolgáltató URL-címének része. |
Feljegyzés
A hitelesítés ellenőrzése nem engedélyezhető és tiltható le az MSAL-ben.
A hatóságok vagy a konfiguráción keresztül megadott fejlesztőként, vagy metaadatokon keresztül ismertek a Microsoft számára.
Ha az MSAL egy jogkivonatra vonatkozó kérést kap egy ismeretlen szolgáltatóhoz, MsalClientException
a típus UnknownAuthority
eredménye.
A közvetített hitelesítés nem működik az Azure AD B2C-ben.
Szolgáltató tulajdonságai
Tulajdonság | Adattípus | Kötelező | Jegyzetek |
---|---|---|---|
type |
Sztring | Igen | Tükrözi a célközönséget vagy a fiókot, és beírja az alkalmazás céljait. Lehetséges értékek: AAD , B2C |
audience |
Objektum | Nem | Csak akkor érvényes, ha type=AAD . Meghatározza az alkalmazás által célként megadott identitást. Az alkalmazásregisztráció értékének használata |
authority_url |
Sztring | Igen | Csak akkor szükséges, ha type=B2C . Type=AAD esetén nem kötelező. Megadja, hogy az alkalmazásnak mely szolgáltatói URL-címet vagy szabályzatot kell használnia |
default |
Logikai | Igen | Egy vagy több hatóság megadása esetén egyetlenre "default":true van szükség. |
Célközönség tulajdonságai
Tulajdonság | Adattípus | Kötelező | Jegyzetek |
---|---|---|---|
type |
Sztring | Igen | Meghatározza, hogy az alkalmazás mely célközönséget szeretné megcélozza. Lehetséges értékek: AzureADandPersonalMicrosoftAccount , PersonalMicrosoftAccount , , AzureADMultipleOrgs AzureADMyOrg |
tenant_id |
Sztring | Igen | Csak akkor szükséges, ha "type":"AzureADMyOrg" . Más type értékek esetén nem kötelező. Ez lehet bérlői tartomány, például contoso.com , vagy bérlőazonosító, például aaaabbbb-0000-cccc-1111-dddd2222eeee |
authorization_user_agent
Azt jelzi, hogy beágyazott webnézetet vagy alapértelmezett böngészőt használjon-e az eszközön, amikor bejelentkezik egy fiókba, vagy engedélyezi az erőforráshoz való hozzáférést.
Lehetséges értékek:
WEBVIEW
: Használja a beágyazott webes nézetet.BROWSER
: Az eszköz alapértelmezett böngészőjét használja.
multiple_clouds_supported
Több országos felhőt támogató ügyfelek esetén adja meg a .true
A Microsoft Identitásplatform ezután automatikusan átirányítja a megfelelő nemzeti felhőbe az engedélyezés és a jogkivonat beváltása során. A bejelentkezett fiók nemzeti felhőjének meghatározásához vizsgálja meg a hozzá társított hatóságot AuthenticationResult
. Vegye figyelembe, hogy a AuthenticationResult
szolgáltatás nem adja meg annak az erőforrásnak az országos felhőspecifikus végpontcímét, amelyhez jogkivonatot kér.
broker_redirect_uri_registered
Logikai érték, amely jelzi, hogy microsoft identity broker kompatibilis közvetítőn belüli átirányítási URI-t használ-e. Állítsa be, false
ha nem szeretné használni a közvetítőt az alkalmazásban.
Ha a Microsoft Entra Authorityt használja a Célközönség beállítással "MicrosoftPersonalAccount"
, a közvetítő nem lesz használva.
http
A HTTP-időtúllépések globális beállításainak konfigurálása, például:
Tulajdonság | Adattípus | Kötelező | Jegyzetek |
---|---|---|---|
connect_timeout |
egész | Nem | Idő ezredmásodpercben |
read_timeout |
egész | Nem | Idő ezredmásodpercben |
naplózás
A naplózáshoz a következő globális beállítások tartoznak:
Tulajdonság | Adattípus | Kötelező | Jegyzetek |
---|---|---|---|
pii_enabled |
Logikai | Nem | Személyes adatok kibocsátása |
log_level |
húr | Nem | Mely naplóüzenetek lesznek kimenetben. A támogatott naplószintek a következők: ERROR ,WARNING ,INFO és VERBOSE . |
logcat_enabled |
Logikai | Nem | A naplómacska kimenete a naplózási felület mellett |
account_mode
Megadja, hogy egyszerre hány fiók használható az alkalmazásban. A lehetséges értékek a következők:
MULTIPLE
(Alapértelmezett)SINGLE
Ha olyan fiókmódot PublicClientApplication
hoz létre, amely nem felel meg ennek a beállításnak, kivételt eredményez.
Az egy és több fiók közötti különbségekről további információt az Egy- és többfiókos alkalmazások című témakörben talál.
browser_safelist
Az MSAL-kompatibilis böngészők engedélyezési listája. Ezek a böngészők megfelelően kezelik az egyéni szándékokra irányuló átirányításokat. Felveheti ezt a listát. Az alapértelmezett beállítás az alábbi alapértelmezett konfigurációban van megadva. ``
Az alapértelmezett MSAL-konfigurációs fájl
Az MSAL-t tartalmazó alapértelmezett MSAL-konfiguráció alább látható. A GitHubon láthatja a legújabb verziót.
Ezt a konfigurációt az Ön által megadott értékek egészítik ki. A megadott értékek felülbírálják az alapértelmezett értékeket.
{
"authorities": [
{
"type": "AAD",
"audience": {
"type": "AzureADandPersonalMicrosoftAccount"
},
"default": true
}
],
"authorization_user_agent": "DEFAULT",
"multiple_clouds_supported": false,
"broker_redirect_uri_registered": false,
"http": {
"connect_timeout": 10000,
"read_timeout": 30000
},
"logging": {
"pii_enabled": false,
"log_level": "WARNING",
"logcat_enabled": false
},
"shared_device_mode_supported": false,
"account_mode": "MULTIPLE",
"browser_safelist": [
{
"browser_package_name": "com.android.chrome",
"browser_signature_hashes": [
"aB1cD2eF3gH4iJ5kL6-mN7oP8qR=="
],
"browser_use_customTab" : true,
"browser_version_lower_bound": "45"
},
{
"browser_package_name": "com.android.chrome",
"browser_signature_hashes": [
"cD2eF3gH4iJ5kL6mN7-oP8qR9sT=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "org.mozilla.firefox",
"browser_signature_hashes": [
"eF3gH4iJ5kL6mN7oP8-qR9sT0uV=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "org.mozilla.firefox",
"browser_signature_hashes": [
"gH4iJ5kL6mN7oP8qR9-sT0uV1wX=="
],
"browser_use_customTab" : true,
"browser_version_lower_bound": "57"
},
{
"browser_package_name": "com.sec.android.app.sbrowser",
"browser_signature_hashes": [
"iJ5kL6mN7oP8qR9sT0-uV1wX2yZ=="
],
"browser_use_customTab" : true,
"browser_version_lower_bound": "4.0"
},
{
"browser_package_name": "com.sec.android.app.sbrowser",
"browser_signature_hashes": [
"kL6mN7oP8qR9sT0uV1-wX2yZ3aB=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "com.cloudmosa.puffinFree",
"browser_signature_hashes": [
"mN7oP8qR9sT0uV1wX2-yZ3aB4dE="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "com.duckduckgo.mobile.android",
"browser_signature_hashes": [
"S5Av4...jAi4Q=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "com.explore.web.browser",
"browser_signature_hashes": [
"BzDzB...YHCag=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "com.ksmobile.cb",
"browser_signature_hashes": [
"lFDYx...7nouw=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "com.microsoft.emmx",
"browser_signature_hashes": [
"Ivy-R...A6fVQ=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "com.opera.browser",
"browser_signature_hashes": [
"FIJ3I...jWJWw=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "com.opera.mini.native",
"browser_signature_hashes": [
"TOTyH...mmUYQ=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "mobi.mgeek.TunnyBrowser",
"browser_signature_hashes": [
"RMVoXgjjgyjjmbj4578fcbkyyQ=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "org.mozilla.focus",
"browser_signature_hashes": [
"L72dT...q0oYA=="
],
"browser_use_customTab" : false
}
]
}
Példa alapkonfigurációra
Az alábbi példa egy alapkonfigurációt mutat be, amely meghatározza az ügyfélazonosítót, az átirányítási URI-t, a közvetítői átirányítás regisztrálva van-e, valamint a hatóságok listáját.
{
"client_id" : "00001111-aaaa-2222-bbbb-3333cccc4444",
"redirect_uri" : "msauth://com.microsoft.identity.client.sample.local/1wIqXSqBj7w%2Bh11ZifsnqwgyKrY%3D",
"broker_redirect_uri_registered": true,
"authorities" : [
{
"type": "AAD",
"audience": {
"type": "AzureADandPersonalMicrosoftAccount"
}
"default": true
}
]
}
Konfigurációs fájl használata
Konfigurációs fájl létrehozása. Javasoljuk, hogy hozza létre az egyéni konfigurációs fájlt a következőben
res/raw/auth_config.json
: . De bárhová helyezheted, ahol csak akarod.Adja meg az MSAL-nek, hogy hol keresse meg a konfigurációt a
PublicClientApplication
konfigurálás során. Példa://On Worker Thread IMultipleAccountPublicClientApplication sampleApp = null; sampleApp = new PublicClientApplication.createMultipleAccountPublicClientApplication(getApplicationContext(), R.raw.auth_config);