Migrieren von iOS-Anwendungen mit Microsoft Authenticator von ADAL.NET zu MSAL.NET
Bisher haben Sie ADAL.NET (Azure Active Directory Authentication Library for .NET) und den iOS-Broker verwendet. Jetzt es ist an der Zeit, zu MSAL.NET (Microsoft Authentication Library for .NET) zu migrieren, da diese Bibliothek den Broker unter iOS ab Version 4.3 unterstützt.
Wo sollten Sie beginnen? Dieser Artikel unterstützt Sie beim Migrieren Ihrer Xamarin iOS-App von ADAL zu MSAL.
Voraussetzungen
In diesem Artikel wird davon ausgegangen, dass Sie bereits über eine Xamarin iOS-App verfügen, die in den iOS-Broker integriert ist. Wenn dies nicht der Fall ist, wechseln Sie direkt zu MSAL.NET und beginnen dort mit der Brokerimplementierung. Informationen zum Aufrufen des iOS-Brokers in MSAL.NET mit einer neuen Anwendung finden Sie in dieser Dokumentation.
Hintergrund
Was sind Broker?
Broker sind Anwendungen, die von Microsoft unter Android und iOS bereitgestellt werden. (Siehe hierzu die Microsoft Authenticator-App unter iOS und Android und die Unternehmensportal-App von Microsoft Intune unter Android.)
Sie ermöglichen Folgendes:
- Einmaliges Anmelden.
- Geräteidentifizierung, die von einigen Richtlinien für bedingten Zugriff gefordert wird. Weitere Informationen finden Sie unter Geräteverwaltung.
- Überprüfung der Anwendungsidentifizierung, die auch bei einigen Unternehmensszenarien erforderlich ist. Weitere Informationen finden Sie unter Verwaltung mobiler Anwendungen in Intune.
Migrieren von ADAL zu MSAL
Schritt 1: Aktivieren des Brokers
Aktueller ADAL-Code: | MSAL-Entsprechung: |
In ADAL.NET wurde die Brokerunterstützung pro Authentifizierung aktiviert. Standardmäßig ist es deaktiviert. Sie mussten im
Legen Sie auch im plattformspezifischen Code in diesem Beispiel im Seitenrenderer für iOS das -Flag
Fügen Sie dann die Parameter in den Aufruf zum Abrufen eines Tokens (AcquireToken-Aufruf) ein:
|
In MSAL.NET wird die Brokerunterstützung wird pro PublicClientApplication aktiviert. Standardmäßig ist es deaktiviert. Um sie zu aktivieren, verwenden Sie den
Im AcquireToken-Aufruf:
|
Schritt 2: Festlegen von „UIViewController()“
In ADAL.NET haben Sie einen UIViewController als Teil von PlatformParameters
übermittelt. (Siehe Beispiel in Schritt 1.) Um dem Entwickler mehr Flexibilität zu bieten, wird in MSAL.NET ein Objektfenster verwendet, das aber bei normaler iOS-Verwendung nicht erforderlich ist. Damit Sie den Broker verwenden und den Broker aufrufen und Antworten empfangen können, müssen Sie das Objektfenster festlegen.
Aktueller ADAL-Code: | MSAL-Entsprechung: |
Ein UIViewController wird an den
|
In MSAL.NET führen Sie zwei Schritte aus, um das Objektfenster für iOS festzulegen:
Beispiel: In
In
Im AcquireToken-Aufruf:
|
Schritt 3: Aktualisieren von AppDelegate zum Verarbeiten des Rückrufs
ADAL und MSAL rufen beide den Broker auf, und der Broker wiederum führt über die OpenUrl
-Methode der AppDelegate
-Klasse einen Rückruf zu Ihrer Anwendung aus. Weitere Informationen finden Sie in dieser Dokumentation.
Hier gibt es keine Änderungen bei MSAL.NET gegenüber ADAL.NET.
Schritt 4: Registrieren eines URL-Schemas
ADAL.NET und MSAL.NET verwenden URLs, um den Broker aufzurufen und die Brokerantwort an die App zurückzugeben. Registrieren Sie in der Datei Info.plist
das URL-Schema für Ihre App wie folgt:
Aktueller ADAL-Code: | MSAL-Entsprechung: |
Das URL-Schema ist für Ihre App eindeutig. |
Der
gefolgt von Ihrem Beispiel:
Hinweis Dieses URL-Schema wird Teil des Umleitungs-URI, der zur eindeutigen Identifizierung der App verwendet wird, wenn die Antwort vom Broker empfangen wird. |
Schritt 5: Hinzufügen der Broker-ID im Abschnitt LSApplicationQueriesSchemes
ADAL.NET und MSAL.NET verwenden -canOpenURL:
, um zu überprüfen, ob der Broker auf dem Gerät installiert ist. Fügen Sie in der Datei „Info.plist“ dem Abschnitt „LSApplicationQueriesSchemes“ den richtigen Bezeichner für den iOS-Broker wie folgt hinzu:
Aktueller ADAL-Code: | MSAL-Entsprechung: |
Verwendung
|
Verwendung
|
Schritt 6: Registrieren des Umleitungs-URI im Azure-Portal
Bei ADAL.NET und MSAL.NET bringt die Verwendung des Brokers als Ziel eine zusätzliche Anforderung an den Umleitungs-URI mit sich. Registrieren Sie den Umleitungs-URI bei Ihrer Anwendung im Azure-Portal.
Aktueller ADAL-Code: | MSAL-Entsprechung: |
Beispiel:
|
Beispiel:
|
Weitere Informationen zum Registrieren des Umleitungs-URI im Azure-Portal finden Sie unter Schritt 7: Hinzufügen eines Umleitungs-URI zur App-Registrierung.
Schritt 7: Festlegen von „Entitlements.plist“
Aktivieren Sie den Keychainzugriff in der Datei Entitlements.plist:
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
Weitere Informationen zum Aktivieren des Keychainzugriffs finden Sie unter Aktivieren des Keychainzugriffs.
Nächste Schritte
Lesen Sie Spezielle Überlegungen für Xamarin iOS mit MSAL.NET.