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-configurationvaló 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.

További lépések