Microsoft Authentication Library pro iOS a macOS

Identity a ověřování Microsoftu (MSAL) pro iOS a macOS je ověřovací sada SDK, která se dá použít k bezproblémové integraci ověřování do vašich aplikací pomocí oborového standardu OAuth2 a OpenID Connect. Umožňuje přihlásit se uživatelům nebo aplikacím pomocí identit Microsoftu. Mezi tyto identity patří Microsoft Entra ID pracovní a školní účty, osobní účty Microsoft, účty sociálních sítí a zákaznické účty.

Pomocí MSAL pro iOS a macOS můžete získat tokeny zabezpečení z Microsoft identity platform k ověřování uživatelů a přístupu k zabezpečeným webovým rozhraním API pro jejich aplikace. Knihovna podporuje více scénářů ověřování, jako je jednotné přihlašování (SSO), podmíněný přístup a zprostředkované ověřování.

Nativní podpora ověřování v MSAL

MSAL iOS poskytuje nativní rozhraní API pro ověřování, která aplikacím umožňují implementovat nativní prostředí s komplexními přizpůsobitelnými toky v mobilních aplikacích. Díky nativnímu ověřování jsou uživatelé provedeni bohatým nativním procesem registrace a přihlášení s důrazem na mobilní zařízení, aniž by museli opustit aplikaci. Nativní funkce ověřování je dostupná jenom pro mobilní aplikace na externím ID pro zákazníky. macOS se nepodporuje. Doporučujeme vždy používat nejnovější up-to-date verzi sady SDK.

Začínáme s MSAL pro iOS a macOS: koncepční dokumentace

Dokumentace MSAL se zabývá běžnými vzory, zpracováním chyb a laděním osvědčených postupů, dalšími funkcemi knihovny (například protokolováním, telemetrií) a všemi aktivními chybami nebo běžnými problémy se známými zmírněními rizik. Pokud hledáte další pomoc s tím, jak začít s Microsoft Entra ID a účty Microsoft, podívejte se na dokumentaci k platformě Microsoft identity. Pokud hledáte další informace o rozhraní Microsoft Graph API, podívejte se na dokumentaci k Microsoft Graphu. Chcete-li účinně využívat MSAL pro iOS a macOS k ochraně svých aplikací, je důležité se seznámit s následujícími pojmy:

  1. Informace o rozdílech mezi MSAL pro iOS a macOS
  2. Registrace aplikace v Microsoft Entra
  3. Nainstalujte MSAL pro iOS a macOS a nakonfigurujte projekt tak, aby používal knihovnu.
  4. Získání tokenů pro přístup k chráněnému rozhraní API

Pokud chcete ve své aplikaci používat MSAL iOS a macOS, musíte aplikaci zaregistrovat v centru pro správu Microsoft Entra a nakonfigurovat projekt. Vzhledem k tomu, že sada SDK podporuje prostředí delegovaného prohlížeče i nativního ověřování, postupujte podle kroků v jednom z těchto rychlých startů na základě vašeho scénáře.

Podporované verze

iOS – MSAL podporuje iOS 14 a vyšší.

macOS – MSAL podporuje macOS (OSX) 10.13 a vyšší.

Hlavní rozdíly mezi Microsoft Authentication Library pro iOS a macOS

Tato část vysvětluje rozdíly ve funkcích mezi Identity a ověřování Microsoftu (MSAL) pro iOS a macOS.

Note

MsAL na Macu podporuje jenom aplikace pro macOS.

Obecné rozdíly

MSAL pro macOS je podmnožinou funkcí dostupných pro iOS.

MSAL pro macOS nepodporuje:

  • různé typy prohlížeče, například ASWebAuthenticationSession, SFAuthenticationSession. SFSafariViewController
  • zprostředkované ověřování prostřednictvím aplikace Microsoft Authenticator se pro macOS nepodporuje.

Sdílení řetězce klíčů mezi aplikacemi od stejného vydavatele je omezenější na macOS 10.14 a starších verzích. Pomocí seznamů řízení přístupu můžete určit cesty k aplikacím, které by měly sdílet řetězce klíčů. Uživatel může zobrazit další výzvy řetězce klíčů.

V systému macOS 10.15+ je chování knihovny MSAL stejné mezi iOSem a macOS. MSAL používá pro sdílení v Keychainu přístupové skupiny.

Ověřování podmíněného přístupu

Ve scénářích s podmíněným přístupem bude při použití knihovny MSAL pro iOS méně výzev pro uživatele. Důvodem je to, že iOS používá aplikaci zprostředkovatele (Microsoft Authenticator), která neguje potřebu vyzvat uživatele v některých případech.

Nastavení projektu

macOS

  • Při nastavování projektu v systému macOS se ujistěte, že je vaše aplikace podepsaná platným vývojovým nebo produkčním certifikátem. MsAL stále funguje v režimu bez znaménka, ale bude se chovat jinak, pokud jde o trvalost mezipaměti. Aplikace by se měla spouštět jako nepodepsaná pouze pro účely ladění. Pokud distribuujete nepodepsanou aplikaci, bude:
  1. V 10.14 a starších verzích vyzve msAL uživatele k zadání hesla řetězce klíčů při každém restartování aplikace.
  2. Ve verzi 10.15+, MSAL vyzve uživatele k zadání přihlašovacích údajů pro každé získání tokenu.
  • Aplikace pro macOS nemusí implementovat volání AppDelegate.

Ios

  • K nastavení vašeho projektu pro podporu toku zprostředkovaného ověřování jsou potřeba další kroky. Postup je popsaný v tomto kurzu.
  • Projekty iOS musí registrovat vlastní schémata v souboru info.plist. V systému macOS to není povinné.

Migrace z knihovny Azure Active Directory Authentication Library (ADAL)

Knihovna Azure Active Directory Authentication Library (ADAL) pro Objective-C je s účinností od 30. června 2023 označená jako zastaralá.. Pokud vy nebo vaše organizace používáte knihovnu Azure Active Directory Authentication Library (ADAL), měli byste migrovat do knihovny MSAL, abyste se vyhnuli riziku zabezpečení vaší aplikace.

Ukázky

Podívejte se na náš komplexní ukázkový seznam.

Získejte nápovědu k sadě SDK

Pokud máte dotaz týkající se sady MSAL SDK, v dokumentaci jste našli chybu nebo potřebujete doporučení, vytvořte problém githubu s podrobnostmi.