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 for .NET (MSAL.NET), která podporuje zprostředkovatele v iOSu od verze 4.3.
Kde začít? Tento článek vám pomůže s migrací aplikace Xamarin pro iOS z ADAL do 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 to neuděláte, přejděte přímo na MSAL.NET a spusťte 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 pro Android a iOS. (Podívejte se na aplikaci Microsoft Authenticator pro iOS a Android a aplikaci Portál společnosti Intune na Androidu.)
Umožňují:
- 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é je také vyžadováno v některých podnikových scénářích. Další informace najdete v tématu Intune správa mobilních aplikací (MAM).
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 zakázaná. Museli jste nastavit
V kódu specifickém pro platformu v tomto příkladu ve vykreslovacím modulu stránky pro iOS nastavte
Pak do volání získaného tokenu zahrňte parametry:
|
V MSAL.NET je podpora zprostředkovatele povolená na základě publicclientapplication. Ve výchozím nastavení je zakázaná. Pokud ho chcete povolit, použijte
Při volání získaného tokenu:
|
Krok 2: Nastavení UIViewController()
V ADAL.NET jste předali uiViewController jako součást .PlatformParameters
(Příklad najdete v kroku 1.) V MSAL.NET se kvůli větší flexibilitě vývojářům používá okno objektu, které se ale při běžném používání iOSu nevyžaduje. Pokud chcete použít zprostředkovatele, nastavte okno objektu tak, aby se od zprostředkovatele odesílaly a přijímaly odpovědi.
Aktuální kód ADAL: | Protějšek MSAL: |
UiViewController je předán do
|
V MSAL.NET nastavíte okno objektu pro iOS dvěma způsoby:
Příklad: V
V
Při volání získaného tokenu:
|
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 nejsou žádné změny.
Krok 4: Registrace schématu adres URL
ADAL.NET a MSAL.NET pomocí adres URL vyvolat zprostředkovatele a vrátit odpověď zprostředkovatele zpět do aplikace. Zaregistrujte schéma adres URL v Info.plist
souboru pro vaši aplikaci následujícím způsobem:
Aktuální kód ADAL: | Protějšek MSAL: |
Schéma adres URL je pro vaši aplikaci jedinečné. |
Prostředek
jako předponu, za kterou následuje vaše Příklad:
Poznámka Toto schéma adresy URL se stane součástí identifikátoru URI přesměrování, který se používá 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 i MSAL.NET používají -canOpenURL:
ke kontrole, jestli je na zařízení nainstalovaný zprostředkovatel. Přidejte správný identifikátor zprostředkovatele iOS do části LSApplicationQueriesSchemes souboru info.plist následujícím způsobem:
Aktuální kód ADAL: | Protějšek MSAL: |
Použití
|
Použití
|
Krok 6: Registrace identifikátoru URI přesměrování v Azure Portal
ADAL.NET i MSAL.NET přidávají další požadavek na identifikátor URI přesměrování, když cílí na zprostředkovatele. Zaregistrujte identifikátor URI přesměrování v aplikaci v 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í v Azure Portal najdete v tématu Krok 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 svazku klíčů najdete v tématu Povolení přístupu ke svazku klíčů.
Další kroky
Přečtěte si o aspektech specifických pro Xamarin iOS v MSAL.NET.