Souhlas správce na platformě Microsoft Identity Platform
Některá oprávnění vyžadují souhlas správce předtím, než ho může udělit v rámci tenanta. Koncový bod souhlasu správce můžete také použít k udělení oprávnění celému tenantovi.
Doporučeno: Přihlášení uživatele do aplikace
Když obvykle vytváříte aplikaci, která používá koncový bod souhlasu správce, potřebuje aplikace stránku nebo zobrazení, ve kterém může správce schválit oprávnění aplikace. Tato stránka může být součástí toku registrace aplikace, části nastavení aplikace nebo může být vyhrazeným tokem pro připojení. V mnoha případech je vhodné, aby aplikace zobrazovala toto zobrazení connect až po přihlášení uživatele pomocí pracovního nebo školního účtu Microsoft.
Když uživatele přihlásíte do aplikace, můžete před žádostí o schválení potřebných oprávnění identifikovat organizaci, do které správce patří. I když to není nezbytně nutné, může vám to pomoct vytvořit intuitivnější prostředí pro uživatele vaší organizace.
Žádost o oprávnění od správce adresáře
Až budete připravení požádat o oprávnění od správce vaší organizace, můžete uživatele přesměrovat na koncový bod souhlasu správce Microsoft Identity Platform.
https://login.microsoftonline.com/{tenant}/v2.0/adminconsent
?client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send
&redirect_uri=http://localhost/myapp/permissions
&state=12345
Parametr | Podmínka | Popis |
---|---|---|
tenant |
Povinní účastníci | Tenant adresáře, od kterého chcete požádat o oprávnění. Lze zadat v guid nebo popisný formát názvu NEBO obecně odkazovat s organizations , jak je vidět v příkladu. Nepoužívejte "běžné", protože osobní účty nemohou poskytnout souhlas správce s výjimkou kontextu tenanta. Pokud chcete zajistit nejlepší kompatibilitu s osobními účty, které spravují tenanty, použijte ID tenanta, pokud je to možné. |
client_id |
Požaduje se | ID aplikace (klienta), které centrum pro správu Microsoft Entra – Registrace aplikací prostředí přiřazené k vaší aplikaci. |
redirect_uri |
Požaduje se | Identifikátor URI přesměrování, do kterého chcete odeslat odpověď, aby vaše aplikace zpracovávala. Musí přesně odpovídat jednomu z identifikátorů URI přesměrování, které jste zaregistrovali na portálu pro registraci aplikací. |
state |
Doporučené | Hodnota zahrnutá v požadavku, která bude vrácena také v odpovědi tokenu. Může to být řetězec libovolného obsahu. Pomocí stavu můžete zakódovat informace o stavu uživatele v aplikaci před tím, než došlo k žádosti o ověření, jako je stránka nebo zobrazení, na které byli. |
scope |
Požaduje se | Definuje sadu oprávnění, která aplikace požaduje. Může se jednat o statické (pomocí /.default ) nebo dynamické obory. To může zahrnovat obory OIDC (openid , profile , email ). |
V tomto okamžiku vyžaduje Microsoft Entra ID správce tenanta, aby se přihlásil, aby žádost dokončil. Správce se zobrazí výzva ke schválení všech oprávnění, která jste v parametru scope
požadovali. Pokud jste použili statickou (/.default
) hodnotu, bude fungovat jako koncový bod souhlasu správce verze 1.0 a požádat o souhlas pro všechny obory nalezené v požadovaných oprávněních (uživatel i aplikace). Abyste mohli požádat o oprávnění aplikace, musíte použít /.default
tuto hodnotu. Pokud nechcete, aby správci viděli dané oprávnění na obrazovce souhlasu správce po celou dobu, kdy používáte /.default
, osvědčeným postupem je nepoužívat oprávnění v části požadovaná oprávnění. Místo toho můžete použít dynamický souhlas k přidání oprávnění, která chcete mít na obrazovce souhlasu za běhu, a ne k použití /.default
.
Úspěšná odpověď
Pokud správce schválí oprávnění pro vaši aplikaci, úspěšná odpověď vypadá takto:
http://localhost/myapp/permissions
?admin_consent=True
&tenant=aaaabbbb-0000-cccc-1111-dddd2222eeee
&scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send
&state=12345
Parametr | Popis |
---|---|
tenant |
Tenant adresáře, který vaší aplikaci udělil oprávnění, která požadoval, ve formátu GUID. |
state |
Hodnota zahrnutá v požadavku, která se také vrátí v odpovědi tokenu. Může to být řetězec libovolného obsahu. Stav se používá ke kódování informací o stavu uživatele v aplikaci před tím, než došlo k žádosti o ověření, jako je stránka nebo zobrazení, na které byli. |
scope |
Sada oprávnění, kterým byl udělen přístup pro aplikaci. |
admin_consent |
Nastaví se na True hodnotu . |
Upozorňující
Nikdy nepoužívejte hodnotu ID tenanta parametru tenant
k ověřování nebo autorizaci uživatelů. Hodnotu ID tenanta můžou aktualizovat a odeslat chybní aktéři, aby zosobnění odpovědi na vaši aplikaci. To může způsobit, že vaše aplikace bude vystavená incidentům zabezpečení.
Chybná odpověď
http://localhost/myapp/permissions
?admin_consent=True
&error=consent_required
&error_description=AADSTS65004%3a+The+resource+owner+or+authorization+server+denied+the+request.%0d%0aTrace+ID%3a+0000aaaa-11bb-cccc-dd22-eeeeee333333%0d%0aCorrelation+ID%3a+8478d534-5b2c-4325-8c2c-51395c342c89%0d%0aTimestamp%3a+2019-09-24+18%3a34%3a26Z
&state=12345
Přidání k parametrům, které se zobrazují v úspěšné odpovědi, se zobrazí níže uvedené parametry chyb.
Parametr | Popis |
---|---|
error |
Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb, ke kterým dochází, a lze jej použít k reakci na chyby. |
error_description |
Konkrétní chybová zpráva, která může vývojáři pomoct identifikovat původní příčinu chyby. |
state |
Hodnota zahrnutá v požadavku, která se také vrátí v odpovědi tokenu. Může to být řetězec libovolného obsahu. Stav se používá ke kódování informací o stavu uživatele v aplikaci před tím, než došlo k žádosti o ověření, jako je stránka nebo zobrazení, na které byli. |
admin_consent |
Tato odpověď bude nastavená tak, aby True značí, že k této odpovědi došlo v toku souhlasu správce. |
Další kroky
- Podívejte se, jak převést aplikaci na více tenantů.
- Zjistěte, jak se při toku udělení autorizačního kódu podporuje souhlas na vrstvě protokolu OAuth 2.0.
- Zjistěte , jak může aplikace s více tenanty používat architekturu pro vyjádření souhlasu k implementaci souhlasu uživatele a správce, která podporuje pokročilejší vzory vícevrstvých aplikací.
- Principy prostředí souhlasu s aplikací Microsoft Entra