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.

Langkah berikutnya