Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:
Werknemerstenants (meer informatie)
Nadat u een toepassing hebt gemaakt, leert u hoe u de code configureert met behulp van de parameters voor app-registratie. Mobiele toepassingen bieden een aantal extra complexiteiten met betrekking tot het inbouwen van hun creatieframework.
Vereiste voorwaarden
- Een Azure-account met een actief abonnement.
Gratis een account maken Dit account moet machtigingen hebben voor het beheren van toepassingen. Gebruik een van de volgende rollen die nodig zijn om de toepassing te registreren:
- Applicatiebeheerder
- Toepassingsontwikkelaar
- Registreer een nieuwe app in het Microsoft Entra-beheercentrum, alleen geconfigureerd voor accounts in deze organisatiemap. Raadpleeg Een applicatie registreren voor meer details. Noteer de volgende waarden van de Overview pagina van de applicatie voor later gebruik.
- Applicatie (client) ID
- ID van de directory (tenant)
Een platformomleidings-URI toevoegen
Voer de volgende stappen uit om uw app-type op te geven voor uw app-registratie:
- Selecteer onder Beheren achtereenvolgens Verificatie>Een platform toevoegen>iOS/macOS.
- Voer uw bundel-id in en selecteer Vervolgens Configureren. De omleidings-URI wordt voor u berekend.
Als u de omleidings-URI liever handmatig configureert, kunt u dit doen via het manifest van de toepassing. Dit is de aanbevolen indeling voor het manifest:
-
iOS:
msauth.<BUNDLE_ID>://auth- Voer bijvoorbeeld
msauth.com.yourcompany.appName://authin
- Voer bijvoorbeeld
-
Android:
msauth://<PACKAGE_NAME>/<SIGNATURE_HASH>- U kunt de Android-handtekening-hash genereren met behulp van de releasesleutel of foutopsporingssleutel via de KeyTool-opdracht.
Openbare clientstroom inschakelen
Als uw app alleen verificatie met gebruikersnaam en wachtwoord gebruikt, hoeft u geen omleidings-URI voor uw toepassing te registreren. Deze workflow maakt een cyclus naar het Microsoft Identity Platform. Uw toepassing wordt niet aangeroepen op een specifieke URI. Maar u moet de openbare clientstroom inschakelen.
Volg deze stappen om uw app te identificeren als een openbare client:
Onder Beheren, selecteer Verificatie.
Selecteer Ja onder Geavanceerde instellingen voor openbare clientstromen toestaan.
Selecteer Opslaan om uw wijzigingen op te slaan.
Microsoft-bibliotheken die mobiele apps ondersteunen
De volgende Microsoft-bibliotheken ondersteunen mobiele apps:
| Platvorm | Project aan GitHub |
Pakket | Krijgen begonnen |
Gebruikers aanmelden | Toegang krijgen tot web-API's | Algemeen beschikbaar (GA) of Openbare preview1 |
|---|---|---|---|---|---|---|
| Android (Java) | MSAL Android | MSAL | Snelle start |
|
|
Algemene Vergadering |
| Android (Kotlin) | MSAL Android | MSAL | — |
|
|
Algemene Vergadering |
| iOS (Swift/Obj-C) | MSAL voor iOS en macOS | MSAL | Handleiding |
|
|
Algemene Vergadering |
1Universele licentievoorwaarden voor onlineservices zijn van toepassing op bibliotheken in openbare preview.
De toepassing instantiëren
Android
Mobiele toepassingen gebruiken de klasse PublicClientApplication. U kunt deze als volgt instantiëren:
PublicClientApplication sampleApp = new PublicClientApplication(
this.getApplicationContext(),
R.raw.auth_config);
Ios
Mobiele toepassingen op iOS moeten de klasse MSALPublicClientApplication instantiëren. Gebruik de volgende code om de klasse te instantiëren.
NSError *msalError = nil;
MSALPublicClientApplicationConfig *config = [[MSALPublicClientApplicationConfig alloc] initWithClientId:@"<your-client-id-here>"];
MSALPublicClientApplication *application = [[MSALPublicClientApplication alloc] initWithConfiguration:config error:&msalError];
let config = MSALPublicClientApplicationConfig(clientId: "<your-client-id-here>")
if let application = try? MSALPublicClientApplication(configuration: config){ /* Use application */}
Aanvullende MSALPublicClientApplicationConfig-eigenschappen kunnen de standaardinstantie overschrijven, een omleidings-URI opgeven of het gedrag van MSAL-tokencaching wijzigen.
UWP (Universal Windows Platform)
In deze sectie wordt uitgelegd hoe u de toepassing voor UWP-apps instantieert.
De toepassing instantiëren
In UWP gebruikt u de volgende code om de toepassing te instantiëren. In deze code is ClientId de GUID van uw geregistreerde app.
var app = PublicClientApplicationBuilder.Create(clientId)
.Build();
Aanvullende With<Parameter>-methoden stellen de bovenliggende gebruikersinterface in, overschrijven de standaardautorisatie en specificeren een clientnaam en -versie voor telemetrie, een omleidings-URI en de te gebruiken HTTP-factory. De HTTP-factory kan bijvoorbeeld worden gebruikt om proxy's te verwerken en telemetrie en logboekregistratie op te geven.
De volgende gedeelten bevatten meer informatie over het instantiëren van de toepassing.
Geef de bovenliggende gebruikersinterface, het venster of de activiteit op.
Geef op Android de activiteit van de ouder door voordat je de interactieve authenticatie uitvoert. Wanneer u op iOS een broker gebruikt, geef dan ViewController door. Op dezelfde manier wilt u mogelijk op UWP het bovenliggende venster meeggeven. U geeft het door wanneer u het token ophaalt. Maar wanneer u de app maakt, kunt u ook een callback specificeren als gedelegeerde die UIParent retourneert.
IPublicClientApplication application = PublicClientApplicationBuilder.Create(clientId)
.ParentActivityOrWindowFunc(() => parentUi)
.Build();
Op Android raden we u aan om CurrentActivityPlugin te gebruiken. De resulterende PublicClientApplication-opbouwcode ziet er als volgt uit:
// Requires MSAL.NET 4.2 or above
var pca = PublicClientApplicationBuilder
.Create("<your-client-id-here>")
.WithParentActivityOrWindow(() => CrossCurrentActivity.Current)
.Build();
Meer parameters voor het bouwen van apps zoeken
Zie de PublicClientApplicationBuilder voor alle methoden die beschikbaar zijn in .
Zie de PublicClientApplicationOptions voor een beschrijving van alle opties die worden weergegeven in .
Taken voor MSAL voor iOS en macOS
Deze taken zijn nodig wanneer u MSAL gebruikt voor iOS en macOS:
-
De
openURL-callback implementeren - Sleutelhanger-toegangsgroepen inschakelen
- Browsers en WebViews aanpassen
Taken voor UWP
Op UWP kunt u bedrijfsnetwerken gebruiken. In de volgende secties worden de taken beschreven die u moet uitvoeren in het bedrijfsscenario.
Zie UWP-specifieke overwegingen met MSAL.NET voor meer informatie.
De toepassing configureren voor het gebruik van de broker
Op Android en iOS schakelen brokers het volgende in:
- Eenmalige aanmelding (SSO): u kunt eenmalige aanmelding gebruiken voor apparaten die zijn geregistreerd bij Microsoft Entra ID. Wanneer u eenmalige aanmelding gebruikt, hoeven uw gebruikers zich niet bij elke toepassing aan te melden.
- Apparaatidentificatie: Met deze instelling wordt beleid voor voorwaardelijke toegang ingeschakeld dat is gerelateerd aan Microsoft Entra-apparaten. Het verificatieproces maakt gebruik van het apparaatcertificaat dat is gemaakt toen het apparaat aan de werkplek werd toegevoegd.
- Verificatie van toepassingsidentificatie: wanneer een toepassing de broker aanroept, wordt de omleidings-URL doorgegeven. Vervolgens controleert de makelaar deze.
De broker voor MSAL voor Android inschakelen
Zie Brokered verificatie op Android voor meer informatie over het inschakelen van een broker op Android.
De broker voor MSAL voor iOS en macOS inschakelen
Brokered-verificatie is standaard ingeschakeld voor Microsoft Entra-scenario's in MSAL voor iOS en macOS.
De volgende secties bevatten instructies voor het configureren van uw toepassing voor brokered authentication-ondersteuning voor iOS en macOS. De twee reeksen instructies bevatten enkele verschillende stappen.
Geïntegreerde authenticatie voor MSAL voor iOS en macOS
Brokered-verificatie is standaard ingeschakeld voor Microsoft Entra-scenario's.
Stap 1: AppDelegate bijwerken om de callback af te handelen
Wanneer MSAL voor iOS en macOS de broker aanroept, geeft de broker een antwoord aan uw toepassing met behulp van de methode openURL. Omdat MSAL wacht op het antwoord van de broker, moet uw toepassing samenwerken om MSAL terug te roepen. U stelt deze mogelijkheid in door het AppDelegate.m-bestand bij te werken om de methode te overschrijven, zoals in de volgende codevoorbeelden wordt weergegeven.
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
return [MSALPublicClientApplication handleMSALResponse:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]];
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
guard let sourceApplication = options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String else {
return false
}
return MSALPublicClientApplication.handleMSALResponse(url, sourceApplication: sourceApplication)
}
Als u UISceneDelegate in gebruikt hebt genomen op iOS 13 of hoger, plaatst u de MSAL-callback in plaats daarvan in de scene:openURLContexts: van UISceneDelegate. MSAL handleMSALResponse:sourceApplication: mag slechts één keer worden aangeroepen voor elke URL.
Zie de Apple-documentatie voor meer informatie.
Stap 2: Een URL-schema registreren
MSAL voor iOS en macOS gebruikt URL's om de broker aan te roepen en vervolgens het broker-antwoord naar uw app te retourneren. Registreer een URL-schema voor uw app in het bestand Info.plist om de rondrit te voltooien.
Een schema voor uw app registreren:
Voeg het voorvoegsel
msauthtoe aan uw aangepaste URL-schema.Voeg uw bundel-id toe aan het einde van uw schema. Volg dit patroon:
$"msauth.(BundleId)"Hier identificeert
BundleIduw apparaat op unieke wijze. Als bijvoorbeeldBundleIdyourcompany.xformsis, dan ismsauth.com.yourcompany.xformsuw URL-schema.Dit URL-schema wordt onderdeel van de omleidings-URI die uw app uniek identificeert wanneer deze het antwoord van de broker ontvangt. Zorg ervoor dat de omleidings-URI in de indeling
msauth.(BundleId)://authis geregistreerd voor uw toepassing.<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>msauth.[BUNDLE_ID]</string> </array> </dict> </array>
Stap 3: LSApplicationQueriesSchemes toevoegen
Voeg LSApplicationQueriesSchemes toe om aanroepen naar de Microsoft Authenticator-app toe te staan, als deze is geïnstalleerd.
Notitie
Het msauthv3-schema is nodig wanneer uw app wordt gecompileerd met Xcode 11 en hoger.
Hier volgt een voorbeeld van het toevoegen van LSApplicationQueriesSchemes:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>msauthv2</string>
<string>msauthv3</string>
</array>
Volgende stappen
Ga verder met het volgende artikel in dit scenario: Een token ophalen.