Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan ID Terverifikasi Microsoft Entra dapat mengeluarkan kredensial yang dapat diverifikasi dengan mengambil klaim dari token ID yang dihasilkan oleh penyedia identitas yang sesuai dengan OpenID organisasi Anda. Artikel ini menginstruksikan Anda tentang cara mengatur penyedia identitas Anda sehingga Authenticator dapat berkomunikasi dengannya dan mengambil Token ID yang benar untuk diteruskan ke layanan penerbitan.
Untuk menerbitkan Kredensial yang Dapat Diverifikasi, Authenticator mendapatkan instruksi dengan cara mengunduh kontrak untuk mengumpulkan masukan dari pengguna dan mengirim informasi tersebut ke layanan yang menerbitkan. Jika Anda perlu menggunakan Token ID, Anda harus mengatur agar penyedia identitas Anda mengizinkan Authenticator masuk ke pengguna lewat protokol OpenID Connect. Klaim dalam token ID yang dihasilkan digunakan untuk mengisi konten kredensial yang dapat diverifikasi Anda. Authenticator mengautentikasi pengguna menggunakan alur kode otorisasi OpenID Connect. Penyedia OpenID Anda harus mendukung fitur OpenID Connect berikut:
Fitur | Deskripsi |
---|---|
Jenis hibah | Harus mendukung kode otorisasi jenis hibah. |
Format token | Harus menghasilkan JWT ringkas yang tidak terenkripsi. |
Algoritma tanda tangan | Harus menghasilkan JWT yang ditandatangani menggunakan RS 256. |
Dokumen konfigurasi | Harus mendukung dokumen konfigurasi OpenID Connect dan jwks_uri . |
Registrasi klien | Harus mendukung pendaftaran klien publik menggunakan nilai redirect_uri dari vcclient://openid/ . |
PKCE | Direkomendasikan karena alasan keamanan, tetapi tidak diperlukan. |
Contoh permintaan HTTP yang dikirim ke penyedia identitas Anda disertakan di bawah ini. Penyedia identitas Anda harus menerima dan menanggapi permintaan ini sesuai dengan standar autentikasi OpenID Connect.
Registrasi klien
Untuk menerima kredensial yang dapat diverifikasi, pengguna Anda harus masuk ke IDP Anda dari aplikasi Microsoft Authenticator.
Untuk mengaktifkan pertukaran ini, daftarkan aplikasi dengan penyedia identitas Anda. Jika Anda menggunakan ID Microsoft Entra, Anda dapat menemukan instruksi di sini. Gunakan nilai berikut saat mendaftar.
Pengaturan | Nilai |
---|---|
Nama aplikasi | <Issuer Name> Verifiable Credential Service |
URI Pengalihan | vcclient://openid/ |
Setelah Anda mendaftarkan aplikasi dengan penyedia identitas Anda, rekam ID kliennya. Anda akan menggunakannya di bagian berikut. Anda juga perlu menuliskan URL ke endpoint terkenal untuk penyedia identitas yang kompatibel dengan OIDC. Layanan Penerbit menggunakan titik akhir ini untuk mengunduh kunci publik yang diperlukan untuk memvalidasi token ID setelah dikirim oleh Authenticator.
URI pengalihan yang dikonfigurasi digunakan oleh Authenticator sehingga ia tahu kapan sign-in dilakukan dan dapat mengambil token ID.
Permintaan otorisasi
Permintaan otorisasi yang dikirim ke penyedia identitas Anda menggunakan format berikut.
GET /authorize?client_id=<client-id>&redirect_uri=vcclient%3A%2F%2Fopenid%2F&response_mode=query&response_type=code&scope=openid&state=12345&nonce=12345 HTTP/1.1
Host: www.contoso.com
Connection: Keep-Alive
Parameter | Value |
---|---|
client_id |
ID klien yang diperoleh selama proses registrasi klien. |
redirect_uri |
Harus menggunakan vcclient://openid/ . |
response_mode |
Harus mendukung query . |
response_type |
Harus mendukung code . |
scope |
Harus mendukung openid . |
state |
Harus dikembalikan ke klien sesuai dengan standar OpenID Connect. |
nonce |
Harus dikembalikan ke klien sesuai dengan standar OpenID Connect. |
Ketika menerima permintaan otorisasi, penyedia identitas Anda harus mengautentikasi pengguna dan mengambil langkah apa pun yang diperlukan untuk menyelesaikan sign-in, seperti autentikasi multifaktor.
Anda dapat menyesuaikan proses sign-in sesuai dengan kebutuhan Anda. Anda dapat meminta pengguna untuk memberikan informasi tambahan, menerima ketentuan layanan, membayar kredensial mereka, dan banyak lagi. Setelah semua langkah selesai, tanggapi permintaan otorisasi dengan mengalihkan ke URI pengalihan seperti yang ditunjukkan di bawah ini.
vcclient://openid/?code=nbafhjbh1ub1yhbj1h4jr1&state=12345
Parameter | Value |
---|---|
code |
Kode otorisasi yang dikembalikan oleh penyedia identitas Anda. |
state |
Harus dikembalikan ke klien sesuai dengan standar OpenID Connect. |
Permintaan token
Permintaan token yang dikirim ke penyedia identitas Anda akan memiliki format sebagai berikut.
POST /token HTTP/1.1
Host: www.contoso.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 291
client_id=<client-id>&redirect_uri=vcclient%3A%2F%2Fopenid%2F&grant_type=authorization_code&code=nbafhjbh1ub1yhbj1h4jr1&scope=openid
Parameter | Value |
---|---|
client_id |
ID klien yang diperoleh selama proses registrasi klien. |
redirect_uri |
Harus menggunakan vcclient://openid/ . |
scope |
Harus mendukung openid . |
grant_type |
Harus mendukung authorization_code . |
code |
Kode otorisasi yang dikembalikan oleh penyedia identitas Anda. |
Setelah menerima permintaan token, penyedia identitas Anda harus merespons dengan token ID.
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzc
yI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5
NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ
fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz
AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q
Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd
QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4
XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg"
}
Token ID harus menggunakan format serialisasi ringkas JWT, dan tidak boleh dienkripsi. Token ID harus berisi klaim berikut.
Klaim | Value |
---|---|
kid |
Pengidentifikasi utama dari kunci yang digunakan untuk menandatangani token ID akan menyesuaikan dengan entri jwks_uri penyedia OpenID. |
aud |
ID klien yang diperoleh selama proses registrasi klien. |
iss |
Harus berupa nilai issuer dalam dokumen konfigurasi OpenID Connect Anda. |
exp |
Harus berisi waktu kedaluwarsa token ID. |
iat |
Harus berisi waktu di mana token ID diterbitkan. |
nonce |
Nilai yang disertakan dalam permintaan otorisasi. |
Klaim tambahan | Token ID harus berisi klaim tambahan yang nilainya akan disertakan dalam Kredensial Yang Dapat Diverifikasi yang akan dikeluarkan. Di bagian ini Anda harus menyertakan atribut apa pun tentang pengguna, seperti namanya. |