Microsoft Identitásplatform UserInfo-végpont
Az OpenID Csatlakozás (OIDC) szabvány részeként a UserInfo végpont egy hitelesített felhasználó adatait adja vissza.
A .jól ismert konfigurációs végpont megkeresése
A UserInfo végpont programozott módon is megtalálható az userinfo_endpoint
OpenID konfigurációs dokumentum mezőjének a következő helyen https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
való olvasásával: . Nem javasoljuk a UserInfo végpont kemény kódolását az alkalmazásokban. Ehelyett az OIDC konfigurációs dokumentumával keresse meg a végpontot futásidőben.
A UserInfo végpontot általában automatikusan hívják meg az OIDC-kompatibilis kódtárak a felhasználóval kapcsolatos információk lekéréséhez. Az OIDC szabványban azonosított jogcímek listájából a Microsoft Identitásplatform létrehozza a névjogcímeket, a tulajdonosi jogcímeket és az e-maileket, ha elérhetőek és beleegyeztek.
Fontolja meg inkább az azonosító jogkivonat használatát
Az azonosító jogkivonatban szereplő információk a UserInfo-végponton elérhető információk szuperhalmazai. Mivel egy azonosító jogkivonatot is lekérhet, amikor jogkivonatot kap a UserInfo végpont meghívásához, javasoljuk, hogy a UserInfo-végpont meghívása helyett kérje le a felhasználó adatait a jogkivonatból. A UserInfo-végpont meghívása helyett az azonosító jogkivonat használata legfeljebb két hálózati kérést szüntet meg, csökkentve az alkalmazás késését.
Ha további részletekre van szüksége a felhasználóról, például a felettesről vagy a beosztásról, hívja meg a Microsoft Graph /user
API-t. Az opcionális jogcímekkel további felhasználói adatokat is felvehet az azonosítóba és a hozzáférési jogkivonatba.
A UserInfo-végpont meghívása
A UserInfo egy standard OAuth-tulajdonosi jogkivonat API, amelyet a Microsoft Graph üzemeltet. Hívja meg a UserInfo végpontot úgy, ahogyan bármelyik Microsoft Graph API-t meghívná az alkalmazás által a Microsoft Graphhoz való hozzáférés kérésekor kapott hozzáférési jogkivonat használatával. A UserInfo végpont egy JSON-választ ad vissza, amely a felhasználóval kapcsolatos jogcímeket tartalmazza.
Permissions
A UserInfo API meghívásához használja az alábbi OIDC-engedélyeket . A openid
jogcímre szükség van, és a hatókörök és email
a profile
hatókörök biztosítják, hogy a válaszban további információkat adjanak meg.
Engedély típusa | Permissions |
---|---|
Delegált (munkahelyi vagy iskolai fiók) | openid (kötelező), profile , email |
Delegált (személyes Microsoft-fiók) | openid (kötelező), profile , email |
Application | Nem alkalmazható |
Tipp.
Másolja ezt az URL-címet a böngészőbe a UserInfo végpont hozzáférési jogkivonatának és egy azonosító jogkivonatának lekéréséhez. Cserélje le az ügyfélazonosítót, és irányítsa át az URI-t egy alkalmazásregisztráció értékeire.
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
A következő szakaszban a lekérdezésben visszaadott hozzáférési jogkivonatot használhatja.
A Microsoft Graph egy speciális jogkivonat-kiállítási mintát használ, amely befolyásolhatja az alkalmazás olvasási vagy érvényesítési képességét. Más Microsoft Graph-jogkivonathoz hasonlóan az itt kapott jogkivonat nem lehet JWT, és az alkalmazásnak átlátszatlannak kell tekintenie. Ha microsoftos fiókfelhasználóval jelentkezett be, az titkosított jogkivonat-formátum lesz. Ezek közül a tényezők közül egyik sem befolyásolja azonban, hogy az alkalmazás használhatja a hozzáférési jogkivonatot a UserInfo-végpontra irányuló kérésekben.
Az API meghívása
A UserInfo API a GET és a POST kéréseket is támogatja.
GET or POST /oidc/userinfo HTTP/1.1
Host: graph.microsoft.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6Il…
UserInfo-válasz
{
"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.
}
A válaszban látható jogcímek mind azok, amelyeket a UserInfo végpont vissza tud adni. Ezek az értékek megegyeznek az azonosító jogkivonatában szereplő értékekkel.
Megjegyzések és figyelmeztetések a UserInfo végponton
A UserInfo végpont által visszaadott információk nem vehetők fel és nem szabhatók testre.
Az identitásplatform által a hitelesítés és engedélyezés során visszaadott információk testreszabásához használja a jogcímleképezést és az opcionális jogcímeket a biztonsági jogkivonat konfigurációjának módosításához.