Titik akhir UserInfo platform identitas Microsoft
Sebagai bagian dari standar OpenID Koneksi (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 bidang userinfo_endpoint
dokumen konfigurasi OpenID di https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
. Kami tidak merekomendasikan pengodean permanen 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 akan menghilangkan hingga dua permintaan jaringan, mengurangi latensi dalam aplikasi Anda.
Jika Anda memerlukan detail selengkapnya tentang pengguna seperti pengelola atau jabatan, hubungi Microsoft Graph /user
API. Anda juga dapat menggunakan klaim opsional untuk menyertakan informasi pengguna tambahan dalam token ID dan 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 akan menampilkan respons JSON yang berisi klaim tentang pengguna.
Izin
Gunakan izin OIDC berikut untuk memanggil API UserInfo. Klaim openid
diperlukan, dan cakupan profile
serta email
memastikan bahwa informasi tambahan diberikan dalam respons.
Jenis izin | Izin |
---|---|
Terdelegasi (akun kerja atau sekolah) | openid (diperlukan), profile , email |
Terdelegasi (akun Microsoft pribadi) | openid (diperlukan), profile , email |
Aplikasi | Tidak berlaku |
Tip
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 dapat menggunakan token akses yang ditampilkan dalam kueri di bagian berikutnya.
Microsoft Graph menggunakan pola penerbitan token khusus yang dapat memengaruhi kemampuan aplikasi Anda untuk membaca atau memvalidasinya. Sama dengan token Microsoft Graph lain, token yang Anda terima di sini mungkin bukan JWT dan aplikasi Anda harus mempertimbangkannya sebagai buram. Jika Anda memasukkan 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 yang dapat ditampilkan 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 ditampilkan oleh titik akhir UserInfo.
Untuk menyesuaikan informasi yang ditampilkan oleh platform identitas selama autentikasi dan otorisasi, gunakan pemetaan klaim dan klaim opsional untuk memodifikasi konfigurasi token keamanan.