Koncový bod UserInfo platformy Microsoft Identity Platform
Jako součást standardu OpenID Připojení (OIDC) vrátí koncový bod UserInfo informace o ověřeném uživateli.
Koncový bod UserInfo najdete programově tak, že si přečtete userinfo_endpoint
pole konfiguračního dokumentu OpenID na adrese https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
. Nedoporučujeme pevně kódovat koncový bod UserInfo ve vašich aplikacích. Místo toho pomocí konfiguračního dokumentu OIDC vyhledejte koncový bod za běhu.
Koncový bod UserInfo se obvykle volá automaticky knihovnami kompatibilními s OIDC, aby získal informace o uživateli. Ze seznamu deklarací identity identifikovaných ve standardu OIDC vytvoří platforma Microsoft Identity Platform deklarace názvů, subjektu a e-mailu, pokud jsou k dispozici a souhlasí s tím.
Informace v tokenu ID jsou nadmnožinou informací dostupných v koncovém bodu UserInfo. Vzhledem k tomu, že token ID můžete získat současně s voláním koncového bodu UserInfo, doporučujeme místo volání koncového bodu UserInfo získat informace o uživateli z tokenu. Použití tokenu ID místo volání koncového bodu UserInfo eliminuje až dva síťové požadavky, což snižuje latenci ve vaší aplikaci.
Pokud potřebujete další podrobnosti o uživateli, jako je manažer nebo pracovní pozice, zavolejte rozhraní Microsoft Graph /user
API. Volitelné deklarace identity můžete také použít k zahrnutí dalších informací o uživateli do ID a přístupových tokenů.
UserInfo je standardní rozhraní API nosné tokenu OAuth hostované Microsoft Graphem. Zavolejte koncový bod UserInfo tak, jak byste volali jakékoli rozhraní Microsoft Graph API pomocí přístupového tokenu, který vaše aplikace přijala, když požadovala přístup k Microsoft Graphu. Koncový bod UserInfo vrátí odpověď JSON obsahující deklarace identity o uživateli.
K volání rozhraní UserInfo API použijte následující oprávnění OIDC. Deklarace openid
identity je povinná a profile
email
rozsahy zajišťují, že v odpovědi jsou k dispozici další informace.
Typ oprávnění | Oprávnění |
---|---|
Delegovaná (pracovní nebo školní účet) | openid (povinné), profile , email |
Delegovaná (osobní účet Microsoft) | openid (povinné), profile , email |
Aplikace | Nelze použít |
Tip
Zkopírujte tuto adresu URL v prohlížeči, abyste získali přístupový token pro koncový bod UserInfo a token ID. Nahraďte ID klienta a identifikátor URI přesměrování hodnotami z registrace aplikace.
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=<yourClientID>&response_type=token+id_token&redirect_uri=<YourRedirectUri>&scope=user.read+openid+profile+email&response_mode=fragment&state=12345&nonce=678910
Přístupový token vrácený v dotazu můžete použít v další části.
Microsoft Graph používá speciální model vystavování tokenů, který může mít vliv na schopnost vaší aplikace ji číst nebo ověřit. Stejně jako u jakéhokoli jiného tokenu Microsoft Graphu nemusí být token, který zde obdržíte, JWT a vaše aplikace by měla zvážit neprůmyslnost. Pokud jste přihlášeni uživatele účtu Microsoft, bude to šifrovaný formát tokenu. Žádný z těchto faktorů ale nemá vliv na schopnost vaší aplikace používat přístupový token v požadavku na koncový bod UserInfo.
Rozhraní UserInfo API podporuje požadavky GET i POST.
GET or POST /oidc/userinfo HTTP/1.1
Host: graph.microsoft.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6Il…
{
"sub": "OLu859SGc2Sr9ZsqbkG-QbeLgJlb41KcdiPoLYNpSFA",
"name": "Mikah Ollenburg", // all names require the “profile” scope.
"family_name": " Ollenburg",
"given_name": "Mikah",
"picture": "https://graph.microsoft.com/v1.0/me/photo/$value",
"email": "mikoll@contoso.com" // requires the “email” scope.
}
Deklarace identity zobrazené v odpovědi jsou všechny ty, které koncový bod UserInfo může vrátit. Tyto hodnoty jsou stejné hodnoty zahrnuté v tokenu ID.
Nemůžete přidat ani přizpůsobit informace vrácené koncovým bodem UserInfo.
Pokud chcete přizpůsobit informace vrácené platformou identit během ověřování a autorizace, použijte mapování deklarací identity a volitelné deklarace identity k úpravě konfigurace tokenu zabezpečení.
- Zkontrolujte obsah tokenů ID.
- Upravte obsah tokenu ID pomocí volitelných deklarací identity.
- Pomocí protokolu OAuth 2 požádejte o přístupový token a token ID.