Migrace aplikací pro iOS, které používají Microsoft Authenticator z ADAL.NET do MSAL.NET
Používali jste knihovnu Azure Active Directory Authentication Library pro .NET (ADAL.NET) a zprostředkovatele iOS. Teď je čas migrovat do knihovny Microsoft Authentication Library pro .NET (MSAL.NET), která podporuje zprostředkovatele v iOSu od verze 4.3 dále.
Kde byste měli začít? Tento článek vám pomůže migrovat aplikaci Xamarin iOS z knihovny ADAL do KNIHOVNY MSAL.
Požadavky
Tento článek předpokládá, že už máte aplikaci Xamarin pro iOS, která je integrovaná se zprostředkovatelem iOS. Pokud ne, přesuňte se přímo do MSAL.NET a zahajte implementaci zprostředkovatele tam. Informace o tom, jak vyvolat zprostředkovatele pro iOS v MSAL.NET s novou aplikací, najdete v této dokumentaci.
Pozadí
Co jsou zprostředkovatelé?
Zprostředkovatelé jsou aplikace poskytované Microsoftem v Androidu a iOSu. (Viz Aplikace Microsoft Authenticator v iOSu a Androidu a Portál společnosti Intune v Androidu.)
Povolí:
- Jednotné přihlašování.
- Identifikace zařízení, kterou vyžadují některé zásady podmíněného přístupu. Další informace najdete v tématu Správa zařízení.
- Ověření identifikace aplikace, které se vyžaduje také v některých podnikových scénářích. Další informace najdete v tématu Správa mobilních aplikací (MAM) Intune.
Migrace z ADAL na MSAL
Krok 1: Povolení zprostředkovatele
Aktuální kód ADAL: | Protějšek MSAL: |
V ADAL.NET byla podpora zprostředkovatele povolena na základě kontextu ověřování. Ve výchozím nastavení je vypnuto. Museli jste si nastavit
Také v kódu specifickém pro platformu v tomto příkladu nastavte v rendereru stránky pro iOS
Pak do volání tokenu získání zahrňte parametry:
|
V MSAL.NET je podpora zprostředkovatele povolená pro jednotlivé verze PublicClientApplication. Ve výchozím nastavení je vypnuto. Pokud ho chcete povolit, použijte
Při volání tokenu získání:
|
Krok 2: Nastavení UIViewController()
V ADAL.NET jste předali UIViewController jako součást .PlatformParameters
(Viz příklad v kroku 1.) V MSAL.NET, aby vývojáři měli větší flexibilitu, používá se okno objektu, ale v běžném používání iOSu se nevyžaduje. Chcete-li použít zprostředkovatele, nastavte okno objektu tak, aby od zprostředkovatele odesílaly a přijímaly odpovědi.
Aktuální kód ADAL: | Protějšek MSAL: |
UiViewController se předává do
|
V MSAL.NET uděláte dvě věci, které nastaví okno objektu pro iOS:
Příklad: V
V
Při volání tokenu získání:
|
Krok 3: Aktualizace AppDelegate pro zpracování zpětného volání
ADAL i MSAL volají zprostředkovatele a zprostředkovatel zase volá zpět do vaší aplikace prostřednictvím OpenUrl
metody AppDelegate
třídy. Další informace najdete v této dokumentaci.
Mezi ADAL.NET a MSAL.NET neexistují žádné změny.
Krok 4: Registrace schématu adres URL
ADAL.NET a MSAL.NET použít adresy URL k vyvolání zprostředkovatele a vrácení odpovědi zprostředkovatele zpět do aplikace. Následujícím způsobem zaregistrujte schéma adres URL v Info.plist
souboru pro vaši aplikaci:
Aktuální kód ADAL: | Protějšek MSAL: |
Schéma adres URL je jedinečné pro vaši aplikaci. |
jako předponu následovanou vaším Příklad:
Poznámka: Toto schéma adres URL se stane součástí identifikátoru URI přesměrování, který slouží k jedinečné identifikaci aplikace, když obdrží odpověď od zprostředkovatele. |
Krok 5: Přidání identifikátoru zprostředkovatele do části LSApplicationQueriesSchemes
ADAL.NET a MSAL.NET oba používají -canOpenURL:
ke kontrole, jestli je na zařízení nainstalovaný zprostředkovatel. Do části LSApplicationQueriesSchemes souboru info.plist přidejte správný identifikátor zprostředkovatele iOS následujícím způsobem:
Aktuální kód ADAL: | Protějšek MSAL: |
Používá
|
Používá
|
Krok 6: Registrace identifikátoru URI přesměrování na webu Azure Portal
ADAL.NET i MSAL.NET oba při cílení na zprostředkovatele přidají další požadavek na identifikátor URI přesměrování. Zaregistrujte identifikátor URI přesměrování ve vaší aplikaci na webu Azure Portal.
Aktuální kód ADAL: | Protějšek MSAL: |
Příklad:
|
Příklad:
|
Další informace o registraci identifikátoru URI přesměrování na webu Azure Portal najdete v kroku 7: Přidání identifikátoru URI přesměrování do registrace aplikace.
Krok 7: Nastavení souboru Entitlements.plist
Povolte přístup ke svazku klíčů v souboru Entitlements.plist :
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
Další informace o povolení přístupu ke klíčence naleznete v tématu Povolení přístupu ke klíčence.
Další kroky
Přečtěte si o aspektech specifických pro Xamarin iOS s MSAL.NET.