Migrowanie aplikacji systemu iOS korzystających z aplikacji Microsoft Authenticator z ADAL.NET do MSAL.NET
Używasz biblioteki uwierzytelniania usługi Azure Active Directory dla platformy .NET (ADAL.NET) i brokera systemu iOS. Teraz nadszedł czas na migrację do biblioteki Microsoft Authentication Library for .NET (MSAL.NET), która obsługuje brokera w systemie iOS z wersji 4.3.
Gdzie należy zacząć? Ten artykuł ułatwia migrowanie aplikacji platformy Xamarin dla systemu iOS z biblioteki ADAL do biblioteki MSAL.
Wymagania wstępne
W tym artykule założono, że masz już aplikację platformy Xamarin dla systemu iOS zintegrowaną z brokerem systemu iOS. Jeśli tego nie zrobisz, przejdź bezpośrednio do MSAL.NET i rozpocznij tam implementację brokera. Aby uzyskać informacje na temat wywoływania brokera systemu iOS w MSAL.NET przy użyciu nowej aplikacji, zobacz tę dokumentację.
Uwaga
MSAL.NET w wersji 4.61.0 lub nowszej nie zapewniają obsługi platforma uniwersalna systemu Windows (UWP), Xamarin Android i Xamarin iOS. Zalecamy migrację aplikacji platformy Xamarin do nowoczesnych struktur, takich jak MAUI. Przeczytaj więcej o wycofaniu w temacie Ogłaszanie nadchodzącego wycofania MSAL.NET dla platform Xamarin i platformy UWP.
Tło
Co to są brokerzy?
Brokerzy to aplikacje udostępniane przez firmę Microsoft w systemach Android i iOS. (Zobacz Aplikacja Microsoft Authenticator w systemach iOS i Android oraz aplikacja Intune — Portal firmy w systemie Android).
Włączają:
- Logowanie jednokrotne.
- Identyfikacja urządzenia, która jest wymagana przez niektóre zasady dostępu warunkowego. Aby uzyskać więcej informacji, zobacz Zarządzanie urządzeniami.
- Weryfikacja identyfikacji aplikacji, która jest również wymagana w niektórych scenariuszach przedsiębiorstwa. Aby uzyskać więcej informacji, zobacz Zarządzanie aplikacjami mobilnymi (MAM) w usłudze Intune.
Migrowanie z biblioteki ADAL do biblioteki MSAL
Krok 1. Włączanie brokera
Bieżący kod biblioteki ADAL: | Odpowiednik biblioteki MSAL: |
W ADAL.NET obsługa brokera została włączona na podstawie kontekstu uwierzytelniania. Jest ona domyślnie wyłączona. Trzeba było ustawić
Ponadto w kodzie specyficznym dla platformy w tym przykładzie w module renderowania strony dla systemu iOS ustaw
Następnie uwzględnij parametry w wywołaniu tokenu uzyskiwania:
|
W MSAL.NET obsługa brokera jest włączona dla poszczególnych parametrów PublicClientApplication. Jest ona domyślnie wyłączona. Aby ją włączyć, użyj polecenia
W wywołaniu tokenu uzyskiwania:
|
Krok 2. Ustawianie kontrolki UIViewController()
W ADAL.NET przekazano element UIViewController w ramach elementu PlatformParameters
. (Zobacz przykład w kroku 1). W MSAL.NET, aby zapewnić deweloperom większą elastyczność, jest używane okno obiektów, ale nie jest wymagane w regularnym użyciu systemu iOS. Aby użyć brokera, ustaw okno obiektu w celu wysyłania i odbierania odpowiedzi od brokera.
Bieżący kod biblioteki ADAL: | Odpowiednik biblioteki MSAL: |
Kontrolka UIViewController jest przekazywana do
|
W MSAL.NET wykonaj dwie czynności, aby ustawić okno obiektu dla systemu iOS:
Przykład: W pliku
W pliku
W wywołaniu tokenu uzyskiwania:
|
Krok 3. Aktualizowanie elementu AppDelegate w celu obsługi wywołania zwrotnego
Zarówno biblioteki ADAL, jak i MSAL wywołają brokera, a broker z kolei wywołuje aplikację za pomocą OpenUrl
metody AppDelegate
klasy . Aby uzyskać więcej informacji, zapoznaj się z tą dokumentacją.
Między ADAL.NET a MSAL.NET nie ma żadnych zmian.
Krok 4. Rejestrowanie schematu adresów URL
ADAL.NET i MSAL.NET używają adresów URL do wywoływania brokera i zwracania odpowiedzi brokera z powrotem do aplikacji. Zarejestruj schemat adresu URL w pliku aplikacji w Info.plist
następujący sposób:
Bieżący kod biblioteki ADAL: | Odpowiednik biblioteki MSAL: |
Schemat adresów URL jest unikatowy dla aplikacji. |
Standard
jako prefiks, a następnie Przykład:
Uwaga Ten schemat adresów URL staje się częścią identyfikatora URI przekierowania używanego do unikatowego identyfikowania aplikacji po odebraniu odpowiedzi od brokera. |
Krok 5. Dodawanie identyfikatora brokera do sekcji LSApplicationQueriesSchemes
ADAL.NET i MSAL.NET użyć -canOpenURL:
polecenia , aby sprawdzić, czy broker jest zainstalowany na urządzeniu. Dodaj prawidłowy identyfikator brokera systemu iOS do sekcji LSApplicationQueriesSchemes pliku info.plist w następujący sposób:
Bieżący kod biblioteki ADAL: | Odpowiednik biblioteki MSAL: |
Używa
|
Używa
|
Krok 6. Rejestrowanie identyfikatora URI przekierowania w witrynie Azure Portal
ADAL.NET i MSAL.NET dodać dodatkowe wymaganie dotyczące identyfikatora URI przekierowania, gdy jest przeznaczony dla brokera. Zarejestruj identyfikator URI przekierowania w aplikacji w witrynie Azure Portal.
Bieżący kod biblioteki ADAL: | Odpowiednik biblioteki MSAL: |
Przykład:
|
Przykład:
|
Aby uzyskać więcej informacji na temat rejestrowania identyfikatora URI przekierowania w witrynie Azure Portal, zobacz Krok 7. Dodawanie identyfikatora URI przekierowania do rejestracji aplikacji.
Krok 7. Ustawianie pliku Entitlements.plist
Włącz dostęp pęku kluczy w pliku Entitlements.plist :
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
Aby uzyskać więcej informacji na temat włączania dostępu łańcucha kluczy, zobacz Włączanie dostępu łańcucha kluczy.
Następne kroki
Dowiedz się więcej o zagadnieniach specyficznych dla środowiska Xamarin dla systemu iOS w MSAL.NET.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla