Možnosti konfigurace aplikace

K ověření a získání tokenů inicializujete v kódu novou veřejnou nebo důvěrnou klientskou aplikaci. Při inicializaci klientské aplikace v knihovně Microsoft Authentication Library (MSAL) můžete nastavit několik možností konfigurace. Tyto možnosti spadají do dvou skupin:

Autorita

Autorita je adresa URL, která označuje adresář, ze kterého může knihovna MSAL požadovat tokeny.

Mezi běžné orgány patří:

Běžné adresy URL autority Vhodné použití služby
https://login.microsoftonline.com/<tenant>/ Přihlaste se jenom uživatelům konkrétní organizace. V <tenant> adrese URL je ID tenanta Microsoft Entra (GUID) nebo jeho domény tenanta.
https://login.microsoftonline.com/common/ Přihlaste se k uživatelům pomocí pracovních a školních účtů nebo osobních účtů Microsoft.
https://login.microsoftonline.com/organizations/ Přihlaste se k uživatelům pomocí pracovních a školních účtů.
https://login.microsoftonline.com/consumers/ Přihlaste se jenom k uživatelům s osobními účty Microsoft (MSA).

Autorita, kterou zadáte v kódu, musí být konzistentní s typy podporovaných účtů, které jste zadali pro aplikaci v Registrace aplikací na webu Azure Portal.

Autorita může být:

  • Cloudová autorita Microsoft Entra.
  • Autorita Azure AD B2C. Viz specifika B2C.
  • Autorita Active Directory Federation Services (AD FS) (AD FS). Viz podpora služby AD FS.

Cloudové autority Microsoft Entra mají dvě části:

  • Instance zprostředkovatele identity
  • Cílová skupina přihlašování pro aplikaci

Instance a cílová skupina se dají zřetězením a poskytnutím jako adresa URL autority. Tento diagram znázorňuje, jak se adresa URL autority skládá:

Jak se adresa URL autority skládá

Cloudová instance

Instance se používá k určení, jestli vaše aplikace podepisuje uživatele z veřejného cloudu Azure nebo z národních cloudů. Pomocí knihovny MSAL v kódu můžete instanci cloudu Azure nastavit pomocí výčtu nebo předáním adresy URL instanci národního cloudu jako člena Instance .

MSAL.NET vyvolá explicitní výjimku, pokud je zadána oběInstance.AzureCloudInstance

Pokud instanci nezadáte, bude vaše aplikace cílit na instanci veřejného cloudu Azure (instance adresy URL https://login.onmicrosoftonline.com).

Cílová skupina aplikací

Cílová skupina přihlašování závisí na obchodních potřebách vaší aplikace:

  • Pokud jste obchodní vývojář, pravděpodobně vytvoříte aplikaci s jedním tenantem, která se bude používat jenom ve vaší organizaci. V takovém případě zadejte organizaci podle ID tenanta (ID vaší instance Microsoft Entra) nebo podle názvu domény přidruženého k instanci Microsoft Entra.
  • Pokud jste výrobce softwaru, možná budete chtít přihlásit uživatele pomocí pracovních a školních účtů v libovolné organizaci nebo v některých organizacích (víceklientské aplikaci). Můžete ale také chtít, aby se uživatelé přihlásili pomocí svých osobních účtů Microsoft.

Určení cílové skupiny v kódu nebo konfiguraci

Pomocí knihovny MSAL v kódu určíte cílovou skupinu pomocí jedné z následujících hodnot:

  • Výčet cílové skupiny Microsoft Entra authority
  • ID tenanta, které může být následující:
    • Identifikátor GUID (ID vaší instance Microsoft Entra) pro aplikace s jedním tenantem
    • Název domény přidružený k vaší instanci Microsoft Entra (také pro aplikace s jedním tenantem)
  • Jeden z těchto zástupných symbolů jako ID tenanta místo výčtu cílové skupiny Microsoft Entra:
    • organizations pro aplikaci s více tenanty
    • consumers přihlášení uživatelů pouze pomocí jejich osobních účtů
    • common přihlášení uživatelů pomocí pracovních a školních účtů nebo jejich osobních účtů Microsoft

MsAL vyvolá výstižnou výjimku, pokud zadáte cílovou skupinu autority Microsoft Entra i ID tenanta.

Doporučujeme určit cílovou skupinu, kolik tenantů a aplikace nasazené v nich budou mít uživatele typu host. Pokud vaše aplikace bude mít externí uživatele, koncové body a organization nejlépe se jim vyhnetecommon. Pokud cílovou skupinu nezadáte, bude vaše aplikace cílit na Microsoft Entra ID a osobní účty Microsoft jako cílovou skupinu a bude se chovat tak, jako by common byla zadána.

Efektivní cílová skupina

Efektivní cílová skupina pro vaši aplikaci bude minimální (pokud existuje průnik) cílové skupiny, kterou jste v aplikaci nastavili, a cílové skupině, která je zadaná v registraci aplikace. Prostředí Registrace aplikací ve skutečnosti umožňuje určit cílovou skupinu (podporované typy účtů) pro aplikaci. Další informace naleznete v tématu Rychlý start: registrace aplikace pomocí platformy identity Microsoft.

Jediným způsobem, jak získat aplikaci pro přihlášení uživatelů jenom s osobními účty Microsoft, je v současné době nakonfigurovat obě tato nastavení:

  • Nastavte cílovou skupinu registrace aplikace na Work and school accounts and personal accounts.
  • Nastavte cílovou skupinu v kódu nebo konfiguraci na AadAuthorityAudience.PersonalMicrosoftAccount (nebo TenantID ="spotřebitelé").

Client ID

ID klienta je jedinečné ID aplikace (klienta) přiřazené vaší aplikaci Microsoft Entra ID při registraci aplikace. ID aplikace (klienta) najdete na stránce Přehled aplikace v podnikových aplikacích identit>>.

URI pro přesměrování

Identifikátor URI přesměrování je identifikátor URI, na který zprostředkovatel identity odešle tokeny zabezpečení zpět.

Identifikátor URI přesměrování pro veřejné klientské aplikace

Pokud jste vývojář veřejné klientské aplikace, který používá KNIHOVNU MSAL:

  • Chcete použít .WithDefaultRedirectUri() desktopové nebo Univerzální platforma Windows aplikace (UPW) (MSAL.NET 4.1 nebo novější). Metoda .WithDefaultRedirectUri() nastaví vlastnost identifikátoru URI přesměrování veřejné klientské aplikace na výchozí doporučený identifikátor URI přesměrování pro veřejné klientské aplikace.

    Platforma URI pro přesměrování
    Desktopová aplikace (.NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
    UWP WebAuthenticationBroker.GetCurrentApplicationCallbackUri()hodnota . To umožňuje jednotné přihlašování (SSO) v prohlížeči nastavením hodnoty na výsledek WebAuthenticationBroker.GetCurrentApplicationCallbackUri(), který potřebujete zaregistrovat.
    .NET https://localhost umožňuje uživateli používat systémový prohlížeč pro interaktivní ověřování, protože rozhraní .NET v tuto chvíli nemá uživatelské rozhraní pro vložené webové zobrazení.
  • Pokud vytváříte aplikaci Xamarin Android a iOS, která nepodporuje identifikátor URI přesměrování zprostředkovatele, nemusíte přidávat identifikátor URI přesměrování. Automaticky se nastaví pro msal{ClientId}://auth Xamarin Android a iOS.

  • Nakonfigurujte identifikátor URI přesměrování v Registrace aplikací:

    Identifikátor URI přesměrování v Registrace aplikací

Identifikátor URI přesměrování můžete přepsat pomocí RedirectUri vlastnosti (například pokud používáte zprostředkovatele). Tady je několik příkladů identifikátorů URI přesměrování pro tento scénář:

  • RedirectUriOnAndroid = "msauth-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";
  • RedirectUriOnIos = $"msauth. {Bundle.ID}://auth";

Další podrobnosti o iOSu najdete v tématu Migrace aplikací pro iOS, které používají Microsoft Authenticator z ADAL.NET, do MSAL.NET a využití zprostředkovatele v iOSu. Další podrobnosti o Androidu najdete v tématu zprostředkované ověřování v Androidu.

Identifikátor URI přesměrování pro důvěrné klientské aplikace

U webových aplikací je identifikátor URI přesměrování (nebo adresa URL odpovědi) identifikátor URI, který bude Microsoft Entra ID používat k odeslání tokenu zpět do aplikace. Identifikátor URI může být adresa URL webové aplikace nebo webového rozhraní API, pokud je jednou z nich důvěrná aplikace. Identifikátor URI přesměrování musí být zaregistrovaný v registraci aplikace. Registrace je obzvláště důležitá, když nasadíte aplikaci, kterou jste původně otestovali místně. Pak musíte přidat adresu URL odpovědi nasazené aplikace na portálu pro registraci aplikací.

U aplikací démon nemusíte zadávat identifikátor URI přesměrování.

Tajný klíč klienta

Tato možnost určuje tajný klíč klienta pro důvěrnou klientskou aplikaci. Tajný klíč klienta (heslo aplikace) je poskytován portálem pro registraci aplikace nebo poskytnutým ID Microsoft Entra během registrace aplikace pomocí PowerShellu Microsoft Entra ID, PowerShell AzureRM nebo Azure CLI.

Protokolování

MsAL poskytuje integrovanou podporu protokolování, která pomáhá při řešení potíží s laděním a selháním ověřování. Protokolování v každé knihovně je popsané v následujících článcích:

Další kroky

Seznamte se s vytvářením instancí klientských aplikací pomocí MSAL.NET a vytváření instancí klientských aplikací pomocí MSAL.js.