Bagikan melalui


Titik akhir UserInfo platform identitas Microsoft

Sebagai bagian dari standar OpenID Connect (OIDC), titik akhir UserInfo mengembalikan informasi tentang pengguna yang diautentikasi.

Temukan titik akhir konfigurasi .well-known

Anda dapat menemukan titik akhir UserInfo secara terprogram dengan membaca userinfo_endpoint bidang dokumen konfigurasi OpenID di https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration. Kami tidak merekomendasikan pengodean keras titik akhir UserInfo di aplikasi Anda. Sebagai gantinya, gunakan dokumen konfigurasi OIDC untuk menemukan titik akhir saat runtime.

Titik akhir UserInfo biasanya dipanggil secara otomatis oleh pustaka yang mematuhi OIDC untuk mendapatkan informasi tentang pengguna. Dari daftar klaim yang diidentifikasi dalam standar OIDC, platform identitas Microsoft menghasilkan klaim nama, klaim subjek, dan email saat tersedia dan disetujui.

Pertimbangkan untuk menggunakan token ID sebagai gantinya

Informasi dalam token ID adalah superset dari informasi yang tersedia di titik akhir UserInfo. Karena Anda bisa mendapatkan token ID pada saat yang sama Anda mendapatkan token untuk memanggil titik akhir UserInfo, kami sarankan mendapatkan informasi pengguna dari token alih-alih memanggil titik akhir UserInfo. Menggunakan token ID alih-alih memanggil titik akhir UserInfo menghilangkan hingga dua permintaan jaringan, mengurangi latensi dalam aplikasi Anda.

Jika Anda memerlukan detail selengkapnya tentang pengguna seperti manajer atau jabatan, hubungi Microsoft Graph /user API. Anda juga dapat menggunakan klaim opsional untuk menyertakan informasi pengguna tambahan dalam ID dan token akses Anda.

Memanggil titik akhir UserInfo

UserInfo adalah API token pembawa OAuth standar yang dihosting oleh Microsoft Graph. Panggil titik akhir UserInfo karena Anda akan memanggil Microsoft Graph API apa pun dengan menggunakan token akses yang diterima aplikasi Anda saat meminta akses ke Microsoft Graph. Titik akhir UserInfo mengembalikan respons JSON yang berisi klaim tentang pengguna.

Hak akses

Gunakan izin OIDC berikut untuk memanggil USERInfo API. Klaim openid diperlukan, dan profile cakupan dan email memastikan bahwa informasi tambahan disediakan dalam respons.

Jenis izin Hak akses
Terdelegasi (akun kerja atau sekolah) openid (wajib), profile, email
Terdelegasi (akun Microsoft pribadi) openid (wajib), profile, email
Aplikasi Tidak berlaku

Petunjuk / Saran

Salin URL ini di browser Anda untuk mendapatkan token akses untuk titik akhir UserInfo dan token ID. Ganti ID klien dan alihkan URI dengan nilai dari pendaftaran aplikasi.

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

Anda bisa menggunakan token akses yang dikembalikan dalam kueri di bagian berikutnya.

Microsoft Graph menggunakan pola penerbitan token khusus yang dapat memengaruhi kemampuan aplikasi Anda untuk membaca atau memvalidasinya. Seperti halnya token Microsoft Graph lainnya, token yang Anda terima di sini mungkin bukan JWT dan aplikasi Anda harus menganggapnya buram. Jika Anda masuk ke pengguna akun Microsoft, itu akan menjadi format token terenkripsi. Namun, tidak satu pun dari faktor-faktor ini yang memengaruhi kemampuan aplikasi Anda untuk menggunakan token akses dalam permintaan ke titik akhir UserInfo.

Memanggil API

USERInfo API mendukung permintaan GET dan POST.

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

Respons 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.
}

Klaim yang ditunjukkan dalam respons adalah semua klaim yang dapat dikembalikan oleh titik akhir UserInfo. Nilai-nilai ini adalah nilai yang sama yang disertakan dalam token ID.

Catatan dan peringatan di titik akhir UserInfo

Anda tidak dapat menambahkan atau menyesuaikan informasi yang dikembalikan oleh titik akhir UserInfo.

Untuk menyesuaikan informasi yang dikembalikan oleh platform identitas selama autentikasi dan otorisasi, gunakan pemetaan klaim dan klaim opsional untuk memodifikasi konfigurasi token keamanan.

Langkah selanjutnya