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:
- Možnosti registrace, včetně:
- Autorita (složená z instance zprostředkovatele identity a cílové skupiny přihlašování pro aplikaci a případně ID tenanta)
- ID klienta
- Identifikátor URI přesměrování
- Tajný klíč klienta (pro důvěrné klientské aplikace)
- Možnosti protokolování, včetně úrovně protokolu, řízení osobních údajů a názvu komponenty pomocí knihovny
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á:
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 tenantyconsumers
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
(neboTenantID
="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í.
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 Androidu najdete v tématu zprostředkované ověřování v Androidu.
Při vytváření aplikace pomocí MSAL Androidu můžete nakonfigurovat
redirect_uri
během počátečního kroku registrace aplikace nebo ji přidat později.- Formát identifikátoru URI přesměrování je:
msauth://<yourpackagename>/<base64urlencodedsignature>
- Příklad:
redirect_uri
=msauth://com.azuresamples.myapp/6/aB1cD2eF3gH4iJ5kL6-mN7oP8qR=
- Formát identifikátoru URI přesměrování je:
Další podrobnosti o konfiguraci aplikace MSAL pro Android najdete v tématu konfigurace MSAL Android.
Nakonfigurujte identifikátor URI přesměrování v Registrace aplikací:
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.