Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Mitarbeitermieter
Externe Mieter (weitere Informationen)
Nachdem Sie Ihre Anwendung erstellt haben, erfahren Sie, wie Sie den Code mithilfe der App-Registrierungsparameter konfigurieren. Mobile Anwendungen halten im Hinblick auf ihre Einpassung in ihr Erstellungsframework eine Reihe von Schwierigkeiten bereit.
Microsoft-Bibliotheken, die mobile Apps unterstützen
Die folgenden Microsoft-Bibliotheken unterstützen mobile Apps:
Plattform | Projekt auf GitHub |
Paket | Erste Schritte gestartet |
Anmelden von Benutzern | Auf Web-APIs zugreifen | Allgemein verfügbar (Generally Available, GA) oder Öffentliche Vorschau1 |
---|---|---|---|---|---|---|
Android (Java) | MSAL Android | MSAL | Schnellstart | ![]() |
![]() |
GA |
Android (Kotlin) | MSAL Android | MSAL | — | ![]() |
![]() |
GA |
iOS (Swift/Obj-C) | MSAL für iOS und macOS | MSAL | Tutorium | ![]() |
![]() |
GA |
1Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschau.
Instanziierung der Anwendung
Android
Mobile Anwendungen verwenden die PublicClientApplication
-Klasse. Hier sehen Sie, wie sie instanziiert wird:
PublicClientApplication sampleApp = new PublicClientApplication(
this.getApplicationContext(),
R.raw.auth_config);
Ios
Mobile Anwendungen unter iOS müssen die MSALPublicClientApplication
-Klasse instanziieren. Verwenden Sie zum Instanziieren der Klasse den folgenden Code.
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 */}
Zusätzliche MSALPublicClientApplicationConfig-Eigenschaften können die Standardautorität überschreiben, einen Umleitungs-URI angeben oder das Verhalten der MSAL-Tokenzwischenspeicherung ändern.
UWP (Universelle Windows-Plattform)
In diesem Abschnitt wird erläutert, wie Sie die Anwendung für UWP-Apps instanziieren.
Instanziierung der Anwendung
In UWP wird die einfachste Methode zum Instanziieren der Anwendung mithilfe des folgenden Codes verwendet. In diesem Code ist ClientId
die GUID der registrierten App.
var app = PublicClientApplicationBuilder.Create(clientId)
.Build();
Mithilfe zusätzlicher With<Parameter>
-Methoden werden die übergeordnete Benutzeroberfläche festgelegt, die Standardautorität außer Kraft gesetzt, ein Clientname und eine Version für die Telemetrie angegeben, ein Umleitungs-URI sowie die zu verwendende HTTP-Factory angegeben. Die HTTP-Factory kann beispielsweise für das Behandeln von Proxys und das Angeben von Telemetrie und Protokollierung verwendet werden.
In den folgenden Abschnitten finden Sie weitere Informationen zum Instanziieren der Anwendung.
Angeben der übergeordneten Benutzeroberfläche, des übergeordneten Fensters oder der übergeordneten Aktivität
Unter Android müssen Sie vor der interaktiven Authentifizierung die übergeordnete Aktivität übergeben. Wenn Sie unter iOS einen Broker verwenden, müssen Sie ViewController
übergeben. Auf dieselbe Weise möchten Sie möglicherweise auf der UWP das übergeordnete Fenster übergeben. Sie übergeben es beim Abrufen des Tokens. Sie können aber beim Erstellen der App auch einen Rückruf als Delegat festlegen, der UIParent
zurückgibt.
IPublicClientApplication application = PublicClientApplicationBuilder.Create(clientId)
.ParentActivityOrWindowFunc(() => parentUi)
.Build();
Unter Android empfehlen wir, CurrentActivityPlugin
zu verwenden. Der resultierende Code des PublicClientApplication
-Generators sieht wie in diesem Beispiel aus:
// Requires MSAL.NET 4.2 or above
var pca = PublicClientApplicationBuilder
.Create("<your-client-id-here>")
.WithParentActivityOrWindow(() => CrossCurrentActivity.Current)
.Build();
Suchen weiterer Parameter für die App-Erstellung
Eine Liste aller Methoden, die in PublicClientApplicationBuilder
verfügbar sind, finden Sie in der Methodenliste.
Eine Beschreibung aller Optionen, die in PublicClientApplicationOptions
verfügbar gemacht werden, finden Sie in der Referenzdokumentation.
Aufgaben für MSAL für iOS und macOS
Diese Aufgaben sind erforderlich, wenn Sie MSAL für iOS und macOS verwenden:
- Implementieren Sie den
openURL
-Rückruf. - Aktivieren von Keychain-Zugriffsgruppen
- Anpassen von Browsern und Webansichten
Aufgaben für UWP
Auf der UWP können Sie Unternehmensnetzwerke verwenden. In den folgenden Abschnitten werden die Aufgaben erläutert, die Sie im Unternehmensszenario ausführen sollten.
Weitere Informationen finden Sie unter Für UWP spezifische Überlegungen mit MSAL.NET.
Konfigurieren der Anwendung für die Verwendung des Brokers
Unter Android und iOS ermöglichen Broker Folgendes:
- Einmaliges Anmelden (Single Sign-On, SSO): Sie können SSO für Geräte verwenden, die mit Microsoft Entra ID registriert sind. Wenn Sie SSO verwenden, müssen sich Ihre Benutzer nicht bei jeder Anwendung anmelden.
- Geräteidentifikation: Diese Einstellung ermöglicht bedingte Zugriffsrichtlinien im Zusammenhang mit Microsoft Entra-Geräten. Der Authentifizierungsprozess verwendet das Gerätezertifikat, das beim Hinzufügen des Geräts zum Arbeitsplatz erstellt wurde.
- Überprüfung der Anwendungsidentifikation: Wenn eine Anwendung den Broker aufruft, übergibt sie ihre Umleitungs-URL. Diese wird dann vom Broker überprüft.
Aktivieren des Brokers für MSAL für Android
Informationen zum Aktivieren eines Brokers unter Android finden Sie unter Brokerauthentifizierung in Android.
Aktivieren des Brokers für MSAL für iOS und macOS
Brokerauthentifizierung ist standardmäßig für Microsoft Entra-Szenarien in MSAL für iOS und macOS aktiviert.
In den folgenden Abschnitten finden Sie Anweisungen zum Konfigurieren Ihrer Anwendung für die Unterstützung der brokerierten Authentifizierung für iOS und macOS. Einige der Schritte in den beiden Anweisungslisten unterscheiden sich.
Brokerauthentifizierung für MSAL für iOS und macOS
Brokerauthentifizierung ist für Microsoft Entra-Szenarien standardmäßig aktiviert.
Schritt 1: Aktualisieren von AppDelegate zum Verarbeiten des Rückrufs
Wenn MSAL für iOS und macOS den Broker aufruft, führt der Broker einen Rückruf Ihrer Anwendung mithilfe der openURL
-Methode aus. Da MSAL auf die Antwort vom Broker wartet, muss Ihre Anwendung kooperieren, um MSAL zurückzurufen. Sie richten diese Funktionalität durch Aktualisieren der Datei AppDelegate.m
zum Überschreiben der Methode ein, wie aus den folgenden Codebeispielen zu ersehen.
- (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)
}
Wenn Sie UISceneDelegate
unter iOS 13 oder höher eingeführt haben, platzieren Sie den MSAL-Rückruf stattdessen in den scene:openURLContexts:
von UISceneDelegate
. MSAL handleMSALResponse:sourceApplication:
darf für jede URL nur ein Mal aufgerufen werden.
Weitere Informationen finden Sie in der Apple-Dokumentation.
Schritt 2: Registrieren eines URL-Schemas
MSAL für iOS und macOS verwendet URLs, um den Broker aufzurufen und die Brokerantwort dann an Ihre App zurückzugeben. Um den Roundtrip abzuschließen, registrieren Sie in der Datei Info.plist
ein URL-Schema für Ihre App.
So registrieren Sie ein Schema für Ihre App:
Stellen Sie dem benutzerdefinierten URL-Schema
msauth
als Präfix voran.Fügen Sie Ihren Paketbezeichner am Ende Ihres Schemas hinzu. Folgen Sie diesem Muster:
$"msauth.(BundleId)"
Hier identifiziert
BundleId
Ihr Gerät eindeutig. WennBundleId
z. B.yourcompany.xforms
ist, lautet Ihr URL-Schemamsauth.com.yourcompany.xforms
.Dieses URL-Schema wird Teil des Umleitungs-URI, der Ihre App eindeutig identifiziert, wenn er die Antwort des Brokers empfängt. Stellen Sie sicher, dass der Umleitungs-URI im Format
msauth.(BundleId)://auth
für Ihre Anwendung registriert ist.<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>msauth.[BUNDLE_ID]</string> </array> </dict> </array>
Schritt 3: Hinzufügen von LSApplicationQueriesSchemes
Fügen Sie LSApplicationQueriesSchemes
hinzu, um Aufrufe an die Microsoft Authenticator-App zuzulassen, wenn sie installiert ist.
Hinweis
Das msauthv3
-Schema wird benötigt, wenn Ihre App mithilfe von Xcode 11 und höher kompiliert wird.
Hier sehen Sie ein Beispiel für das Hinzufügen von LSApplicationQueriesSchemes
:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>msauthv2</string>
<string>msauthv3</string>
</array>
Nächste Schritte
Fahren Sie mit dem nächsten Artikel in diesem Szenario fort: Abrufen eines Tokens.