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.
Android Microsofts autentiseringsbibliotek (MSAL) levereras med en JSON-standardkonfigurationsfil som du anpassar för att definiera beteendet för din offentliga klientapp för saker som standardutfärdare, vilka myndigheter du ska använda och så vidare.
Den här artikeln hjälper dig att förstå de olika inställningarna i konfigurationsfilen och hur du anger den konfigurationsfil som ska användas i din MSAL-baserade app.
Konfigurationsinställningar
Allmänna inställningar
| Property | Datatyp | Obligatoriskt | Noteringar |
|---|---|---|---|
client_id |
String | Ja | Appens klient-ID från sidan Programregistrering |
redirect_uri |
String | Ja | Appens omdirigerings-URI från sidan Programregistrering |
broker_redirect_uri_registered |
Boolean | No | Möjliga värden: true, false |
authorities |
Lista<över utfärdare> | No | Listan över myndigheter som din app behöver |
authorization_user_agent |
AuthorizationAgent (uppräkning) | No | Möjliga värden: DEFAULT, BROWSER, WEBVIEW |
http |
HttpConfiguration | No | Konfigurera HttpUrlConnectionconnect_timeout och read_timeout |
logging |
LoggningKonfiguration | No | Anger loggningsinformationsnivån. Valfria konfigurationer är: pii_enabled, som tar ett booleskt värde och log_level, som tar ERROR, WARNING, INFOeller VERBOSE. |
klient-ID
Det klient-ID eller app-ID som skapades när du registrerade ditt program.
omdirigerings_uri
Omdirigerings-URI:n som du registrerade när du registrerade ditt program. Om omdirigerings-URI:n är till en koordinatorapp läser du Omdirigerings-URI för offentliga klientappar för att se till att du använder rätt omdirigerings-URI-format för din koordinatorapp.
broker_redirect_uri_registered
Om du vill använda asynkron broker_redirect_uri_registered autentisering måste egenskapen vara inställd på true. I ett scenario med asynkron autentisering validerar programmet din omdirigerings-URI och utlöser ett undantag när det startar om programmet inte har rätt format för att kommunicera med koordinatorn enligt beskrivningen i Omdirigerings-URI för offentliga klientappar.
authorities
Listan över myndigheter som är kända och betrodda av dig. Förutom de myndigheter som anges här frågar MSAL också Microsoft för att få en lista över moln och myndigheter som är kända för att Microsoft. I den här listan med myndigheter anger du typen av utfärdare och eventuella ytterligare valfria parametrar som "audience", som bör anpassas till målgruppen för din app baserat på appens registrering. Följande är en exempellista över myndigheter:
// 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"
}
}
Mappa Microsoft Entra utfärdare och målgrupp till Microsofts identitetsplattform slutpunkter
| Type | Målgrupp | Hyresgästens ID | Authority_Url | Resulterande slutpunkt | Noteringar |
|---|---|---|---|---|---|
| Microsoft Entra ID | Azure AD och personligt Microsoft-konto | https://login.microsoftonline.com/common |
common är ett klientalias för var kontot finns. Till exempel en specifik Microsoft Entra klientorganisation eller det Microsoft-konto systemet. |
||
| Microsoft Entra ID | AzureADMyOrg | contoso.com | https://login.microsoftonline.com/contoso.com |
Endast konton som finns i contoso.com kan hämta en token. Alla verifierade domäner eller klientorganisations-GUID kan användas som klientorganisations-ID. | |
| Microsoft Entra ID | AzureADMultipleOrgs | https://login.microsoftonline.com/organizations |
Endast Microsoft Entra konton kan användas med den här slutpunkten. Microsoft konton kan vara medlemmar i organisationer. Om du vill hämta en token med hjälp av en Microsoft-konto för en resurs i en organisation anger du den organisationsklient som du vill ha token från. | ||
| Microsoft Entra ID | Personligt Microsoft-konto | https://login.microsoftonline.com/consumers |
Endast Microsoft konton kan använda den här slutpunkten. | ||
| B2C (Företag till Konsument) | Se Resulterande slutpunkt | https://login.microsoftonline.com/tfp/contoso.onmicrosoft.com/B2C_1_SISOPolicy/ |
Endast konton som finns i contoso.onmicrosoft.com klientorganisation kan hämta en token. I det här exemplet är B2C-principen en del av url-sökvägen till utfärdaren. |
Note
Det går inte att aktivera och inaktivera utfärdarvalidering i MSAL.
Myndigheterna är antingen kända för dig som utvecklare enligt konfigurationen eller kända för att Microsoft via metadata.
Om MSAL tar emot en begäran om en token till en okänd utfärdare resulterar en MsalClientException av typen UnknownAuthority .
Asynkron autentisering fungerar inte för Azure AD B2C.
Egenskaper för utfärdare
| Property | Datatyp | Obligatoriskt | Noteringar |
|---|---|---|---|
type |
String | Ja | Speglar målgruppen eller kontotypen dina appmål. Möjliga värden: AAD, B2C |
audience |
Object | No | Gäller endast när type=AAD. Anger identiteten som appen riktar in sig på. Använda värdet från din appregistrering |
authority_url |
String | Ja | Krävs endast när type=B2C. Valfritt för type=AAD. Anger utfärdarens URL eller princip som appen ska använda |
default |
Boolean | Ja | En enda "default":true krävs när en eller flera myndigheter anges. |
Målgruppsegenskaper
| Property | Datatyp | Obligatoriskt | Noteringar |
|---|---|---|---|
type |
String | Ja | Anger vilken målgrupp appen vill rikta in sig på. Möjliga värden: AzureADandPersonalMicrosoftAccount, PersonalMicrosoftAccount, AzureADMultipleOrgs, AzureADMyOrg |
tenant_id |
String | Ja | Krävs endast när "type":"AzureADMyOrg". Valfritt för andra type värden. Detta kan vara en klientdomän som contoso.com, eller ett klient-ID, till exempel aaaabbbb-0000-cccc-1111-dddd2222eeee |
authorization_user_agent
Anger om du vill använda en inbäddad webbvy eller standardwebbläsaren på enheten när du loggar in på ett konto eller auktoriserar åtkomst till en resurs.
Möjliga värden:
-
DEFAULT: Föredrar systemwebbläsaren. Använder den inbäddade webbvyn om en webbläsare inte är tillgänglig på enheten. -
WEBVIEW: Använd den inbäddade webbvyn. -
BROWSER: Använder standardwebbläsaren på enheten.
multiple_clouds_supported
För klienter som stöder flera nationella moln anger du true. Microsofts identitetsplattform omdirigeras sedan automatiskt till rätt nationellt moln under inlösen av auktorisering och token. Du kan fastställa det nationella molnet för det inloggade kontot genom att undersöka den utfärdare som är associerad med AuthenticationResult. Observera att AuthenticationResult inte anger den nationella molnspecifika slutpunktsadressen för resursen som du begär en token för.
broker_redirect_uri_registered
Ett booleskt värde som anger om du använder en Microsoft identitetskoordinatorkompatibel omdirigerings-URI i asynkron meddelandekö. Ange till false om du inte vill använda asynkron meddelandekö i din app.
Om du använder Microsoft Entra utfärdare med målgrupp inställd "MicrosoftPersonalAccount"på används inte asynkron meddelandekö.
http
Konfigurera globala inställningar för HTTP-timeouter, till exempel:
| Property | Datatyp | Obligatoriskt | Noteringar |
|---|---|---|---|
connect_timeout |
int | No | Tid i millisekunder |
read_timeout |
int | No | Tid i millisekunder |
logging
Följande globala inställningar gäller för loggning:
| Property | Datatyp | Obligatoriskt | Noteringar |
|---|---|---|---|
pii_enabled |
Boolean | No | Om personuppgifter ska skickas |
log_level |
string | No | Vilka loggmeddelanden som ska matas ut. Loggnivåerna som stöds är ERROR,WARNING,INFOoch VERBOSE. |
logcat_enabled |
Boolean | No | Om loggkatt ska matas ut utöver loggningsgränssnittet |
account_mode
Anger hur många konton som kan användas i din app åt gången. Möjliga värden är:
-
MULTIPLE(Standard) SINGLE
Om du skapar ett PublicClientApplication kontoläge som inte matchar den här inställningen resulterar det i ett undantag.
Mer information om skillnaderna mellan enskilda och flera konton finns i Appar för enskilda och flera konton.
browser_safelist
En lista över tillåtna webbläsare som är kompatibla med MSAL. Dessa webbläsare hanterar korrekt omdirigeringar till anpassade avsikter. Du kan lägga till i den här listan. Standardinställningen anges i standardkonfigurationen som visas nedan. ``
Msal-standardkonfigurationsfilen
Standardkonfigurationen för MSAL som levereras med MSAL visas nedan. Du kan se den senaste versionen på GitHub.
Den här konfigurationen kompletteras med värden som du anger. De värden som du anger åsidosätter standardvärdena.
{
"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": [
"7fmdu...2NDJg=="
],
"browser_use_customTab" : true,
"browser_version_lower_bound": "45"
},
{
"browser_package_name": "com.android.chrome",
"browser_signature_hashes": [
"7fmdu...2NDJg=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "org.mozilla.firefox",
"browser_signature_hashes": [
"2gCe6...idpVQ=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "org.mozilla.firefox",
"browser_signature_hashes": [
"2gCe6...idpVQ=="
],
"browser_use_customTab" : true,
"browser_version_lower_bound": "57"
},
{
"browser_package_name": "com.sec.android.app.sbrowser",
"browser_signature_hashes": [
"ABi2f...4O1Xgg=="
],
"browser_use_customTab" : true,
"browser_version_lower_bound": "4.0"
},
{
"browser_package_name": "com.sec.android.app.sbrowser",
"browser_signature_hashes": [
"ABi2f...O1Xgg=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "com.cloudmosa.puffinFree",
"browser_signature_hashes": [
"1WqG8...Mn8Ag=="
],
"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": [
"RMVoX...bkyyQ=="
],
"browser_use_customTab" : false
},
{
"browser_package_name": "org.mozilla.focus",
"browser_signature_hashes": [
"L72dT...q0oYA=="
],
"browser_use_customTab" : false
}
]
}
Exempel på grundläggande konfiguration
I följande exempel visas en grundläggande konfiguration som anger klient-ID, omdirigerings-URI, om en asynkron omdirigering registreras och en lista över myndigheter.
{
"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
}
]
}
Så här använder du en konfigurationsfil
Skapa en konfigurationsfil. Vi rekommenderar att du skapar din anpassade konfigurationsfil i
res/raw/auth_config.json. Men du kan placera den var du vill.Tala om för MSAL var du ska leta efter din konfiguration när du skapar
PublicClientApplication. Ett exempel://On Worker Thread IMultipleAccountPublicClientApplication sampleApp = null; sampleApp = new PublicClientApplication.createMultipleAccountPublicClientApplication(getApplicationContext(), R.raw.auth_config);