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.

Vyhledání známého koncového bodu konfigurace

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.

Zvažte místo toho použití tokenu ID.

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ů.

Volání koncového bodu UserInfo

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.

Oprávnění

K volání rozhraní UserInfo API použijte následující oprávnění OIDC. Deklarace openid identity je povinná a profileemail 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.

Volání rozhraní API

Rozhraní UserInfo API podporuje požadavky GET i POST.

GET or POST /oidc/userinfo HTTP/1.1
Host: graph.microsoft.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6Il…

Odpověď UserInfo

{
    "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.

Poznámky a upozornění na koncový bod UserInfo

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í.

Další kroky