Menerbitkan info masuk ID Terverifikasi Microsoft Entra dari aplikasi
Dalam tutorial ini, Anda menjalankan aplikasi sampel dari komputer lokal yang tersambung ke penyewa Microsoft Entra Anda. Dengan menggunakan aplikasi ini, Anda akan menerbitkan Kartu Ahli Kredensial Terverifikasi dan memverifikasinya.
Dalam artikel ini, Anda akan mempelajari cara:
- Buat Kartu Ahli Kredensial Terverifikasi di Azure.
- Kumpulkan kredensial dan detail lingkungan untuk mengatur aplikasi contoh.
- Unduh contoh kode aplikasi ke mesin lokal Anda
- Perbarui aplikasi contoh dengan Kartu Ahli Kredensial Terverifikasi dan detail lingkungan Anda.
- Jalankan aplikasi contoh dan menerbitkan Kartu Ahli Kredensial Terverifikasi pertama Anda.
- Verifikasi Kartu Ahli Kredensial Terverifikasi Anda.
Bagan berikut mengilustrasikan arsitektur ID Terverifikasi Microsoft Entra dan komponen yang Anda konfigurasikan.
Prasyarat
- Siapkan penyewa untuk ID Terverifikasi Microsoft Entra.
- Untuk mengkloning repositori yang menghosting aplikasi contoh, instal GIT
- Visual Studio Code, Visual Studio, atau editor kode serupa.
- .NET 7.0.
- Unduh ngrok dan daftar untuk mendapatkan akun gratis. Jika Anda tidak dapat menggunakan
ngrok
di organisasi Anda, baca FAQ ini. - Perangkat seluler dengan microsoft Authenticator versi terbaru.
Buat Kartu Ahli Kredensial Terverifikasi di Azure.
Tip
Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.
Pada langkah ini, Anda membuat kartu ahli informasi masuk terverifikasi dengan menggunakan ID Terverifikasi Microsoft Entra. Setelah Anda membuat kredensial, penyewa Microsoft Entra Anda dapat mengeluarkannya kepada pengguna yang memulai proses.
Masuk ke pusat admin Microsoft Entra sebagai Administrator Global.
Pilih Kredensial yang dapat diverifikasi.
Setelah Anda menyiapkan penyewa Anda, Buat informasi masuk akan muncul. Atau, Anda dapat memilih Informasi masuk di menu sebelah kiri dan memilih + Tambahkan informasi masuk.
Di Buat info masuk, pilih Info masuk Kustom dan klik Berikutnya:
Untuk Nama informasi masuk, masukkan VerifiedCredentialExpert. Nama ini digunakan di portal untuk mengidentifikasi kredensial yang dapat diverifikasi Anda. Ini disertakan sebagai bagian dari kontrak kredensial yang dapat diverifikasi.
Salin JSON berikut dan tempelkan di kotak teks Definisi tampilan
{ "locale": "en-US", "card": { "title": "Verified Credential Expert", "issuedBy": "Microsoft", "backgroundColor": "#000000", "textColor": "#ffffff", "logo": { "uri": "https://didcustomerplayground.z13.web.core.windows.net/VerifiedCredentialExpert_icon.png", "description": "Verified Credential Expert Logo" }, "description": "Use your verified credential to prove to anyone that you know all about verifiable credentials." }, "consent": { "title": "Do you want to get your Verified Credential?", "instructions": "Sign in with your account to get your card." }, "claims": [ { "claim": "vc.credentialSubject.firstName", "label": "First name", "type": "String" }, { "claim": "vc.credentialSubject.lastName", "label": "Last name", "type": "String" } ] }
Salin JSON berikut dan tempelkan di kotak teks Definisi aturan
{ "attestations": { "idTokenHints": [ { "mapping": [ { "outputClaim": "firstName", "required": true, "inputClaim": "$.given_name", "indexed": false }, { "outputClaim": "lastName", "required": true, "inputClaim": "$.family_name", "indexed": true } ], "required": false } ] }, "validityInterval": 2592000, "vc": { "type": [ "VerifiedCredentialExpert" ] } }
Pilih Buat.
Cuplikan layar berikut menunjukkan cara membuat kredensial baru:
Mengumpulkan kredensial dan detail lingkungan
Sekarang setelah Anda memiliki kredensial baru, Anda akan mengumpulkan beberapa informasi tentang lingkungan Anda dan kredensial yang Anda buat. Anda menggunakan potongan-potongan informasi ini ketika Anda menyiapkan aplikasi contoh Anda.
Di Kredensial yang Dapat Diverifikasi, pilih Terbitkan info masuk.
Salin otoritas, yang merupakan Pengidentifikasi Terdesentralisasi, dan rekam untuk nanti.
Salin URL manifes. Ini adalah URL yang dievaluasi Authenticator sebelum ditampilkan kepada persyaratan penerbitan kredensial yang dapat diverifikasi pengguna. Rekam untuk digunakan nanti.
Salin ID Penyewa Anda dan rekam untuk nanti. ID Penyewa adalah panduan dalam URL manifes yang disorot dengan warna merah di atas.
Mengunduh kode sampel
Aplikasi contoh tersedia di .NET dan kode dipertahankan dalam repositori GitHub. Unduh kode sampel kami dari GitHub di sini, atau klon repositori ke komputer lokal Anda:
git clone https://github.com/Azure-Samples/active-directory-verifiable-credentials-dotnet.git
Kofigurasi aplikasi kredensial yang dapat diverifikasi
Buat rahasia klien untuk aplikasi terdaftar yang Anda buat. Aplikasi contoh menggunakan rahasia klien untuk membuktikan identitasnya saat meminta token.
Masuk ke pusat admin Microsoft Entra sebagai Administrator Global.
Pilih Microsoft Entra ID.
Buka halaman Aplikasi> Pendaftaran aplikasi.
Pilih aplikasi verifiable-credentials-app yang Anda buat sebelumnya.
Pilih nama untuk masuk ke detail Pendaftaran aplikasi
Salin ID (klien) Aplikasi dan simpan untuk nanti.
Di menu sebelah kiri, di bagianKelola, pilih Sertifikat& rahasia.
Pilih + Langkah baru, dan lakukan langkah-langkah berikut:
Di kotak Deskripsi, masukkan deskripsi rahasia klien (misalnya, vc-sample-secret).
Di bawah Kedaluwarsa, pilih durasi yang rahasianya valid (misalnya, enam bulan). Kemudian pilih Tambahkan.
Catat Nilai rahasia. Anda akan menggunakan nilai ini untuk konfigurasi pada langkah selanjutnya. Nilai rahasia tidak akan ditampilkan lagi, dan tidak dapat diambil dengan cara lain. Catat segera setelah terlihat.
Pada titik ini, Anda harus memiliki semua informasi yang diperlukan yang Anda butuhkan untuk menyiapkan aplikasi contoh Anda.
Memperbarui Aplikasi Contoh
Sekarang Anda akan melakukan modifikasi pada kode pengeluar sertifikat aplikasi sampel untuk memperbaruinya dengan URL kredensial yang dapat diverifikasi milik Anda. Langkah ini memungkinkan Anda untuk mengeluarkan kredensial yang dapat diverifikasi dengan menggunakan penyewa Anda sendiri.
Di bawah folder active-directory-verifiable-credentials-dotnet-main, buka Visual Studio Code, dan pilih proyek di dalam folder 1-asp-net-core-api-idtokenhint.
Di bawah folder akar proyek, buka file appsettings.json. File ini berisi informasi tentang lingkungan ID Terverifikasi Microsoft Entra Anda. Perbarui properti berikut dengan informasi yang Anda rekam dalam langkah-langkah sebelumnya:
- Tenant ID: ID penyewa Anda
- ID Klien: ID Klien Anda
- Client ID: rahasia klien Anda
- DidAuthority: Pengidentifikasi Terdesentralisasi Anda
- Manifes Informasi Masuk: URL manifes Anda
CredentialType hanya diperlukan untuk presentasi, jadi jika yang ingin Anda lakukan adalah penerbitan, itu benar-benar tidak diperlukan.
Simpan file appsettings.json.
JSON berikut menunjukkan file appsettings.json lengkap:
{
"VerifiedID": {
"Endpoint": "https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/",
"VCServiceScope": "3db474b9-6a0c-4840-96ac-1fceb342124f/.default",
"Instance": "https://login.microsoftonline.com/",
"TenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"ClientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"ClientSecret": "123456789012345678901234567890",
"CertificateName": "[Or instead of client secret: Enter here the name of a certificate (from the user cert store) as registered with your application]",
"DidAuthority": "did:web:...your-decentralized-identifier...",
"CredentialType": "VerifiedCredentialExpert",
"CredentialManifest": "https://verifiedid.did.msidentity.com/v1.0/00001111-aaaa-2222-bbbb-3333cccc4444/verifiableCredentials/contracts/VerifiedCredentialExpert"
}
}
Mengeluarkan kartu pakar kredensial terverifikasi pertama Anda
Sekarang Anda siap untuk menerbitkan Kartu Ahli Terverifikasi pertama Anda dengan menjalankan aplikasi contoh.
Dari Visual Studio Code, jalankan proyek Verifiable_credentials_DotNet. Atau, dari baris perintah sistem operasi Anda, jalankan:
cd active-directory-verifiable-credentials-dotnet\1-asp-net-core-api-idtokenhint dotnet build "AspNetCoreVerifiableCredentials.csproj" -c Debug -o .\bin\Debug\net6. dotnet run
Di jendela wantian perintah yang lain, jalankan perintah berikut. Perintah ini menjalankan ngrok untuk menyiapkan URL pada 5000 dan membuatnya dapat diakses publik di internet.
ngrok http 5000
Catatan
Pada beberapa komputer Anda mungkin perlu menjalankan perintah dalam format ini
./ngrok http 5000
Buka URL HTTPS yang dihasilkan oleh ngrok.
Dari browser web, pilih Dapatkan Kredensial.
Menggunakan perangkat seluler Anda, pindai kode QR dengan aplikasi Authenticator. Untuk informasi selengkapnya tentang memindai kode QR, silakan lihat bagian FAQ.
Saat ini, Anda akan melihat pesan peringatan bahwa aplikasi atau situs web ini mungkin berisiko. Pilih Tingkat Lanjut.
Di peringatan situs web berisiko, pilih Tetap lanjutkan (tidak aman). Anda melihat peringatan ini karena domain Anda tidak terkait dengan pengenal terdesentralisasi Anda (DID). Untuk memverifikasi domain Anda, ikuti Menautkan domain ke pengidentifikasi terdesentralisasi (DID). Untuk tutorial ini, Anda dapat melompati pendaftaran domain, dan memilih Tetap lanjutkan (tidak aman).
Anda akan diminta memasukkan kode PIN yang ditampilkan di layar tempat Anda memindai kode QR. PIN menambahkan lapisan perlindungan tambahan untuk penerbitan. Kode PIN dihasilkan secara acak setiap kali kode QR penerbitan ditampilkan.
Setelah Anda memasukkan nomor PIN, layar Tambahkan informasi masuk akan ditampilkan. Di bagian atas layar, Anda dapat melihat pesan Tidak diverifikasi berwarna merah. Peringatan ini terkait dengan validasi domain yang disebutkan di atas.
Pilih Tambahkan untuk menerima kredensial baru Anda yang dapat diverifikasi.
Selamat! Anda sekarang memiliki kartu kredensial ahli kredensial terverifikasi yang dapat diverifikasi.
Kembali ke aplikasi sampel. Ini menunjukkan kepada Anda bahwa kredensial berhasil diterbitkan.
Nama Kredensial yang Dapat Diverifikasi
Kredensial Anda yang dapat diverifikasi berisi Megan Bowen sebagai nama depan dan nilai nama belakang dalam kredensial. Nilai-nilai ini telah di-hardcode dalam aplikasi sampel dan ditambahkan ke kredensial yang dapat diverifikasi pada saat penerbitan di payload.
Dalam skenario nyata, aplikasi Anda menarik detail pengguna dari penyedia identitas. Cuplikan kode berikut menunjukkan di mana nama diatur dalam aplikasi contoh.
//file: IssuerController.cs
[HttpGet("/api/issuer/issuance-request")]
public async Task<ActionResult> issuanceRequest()
{
...
// Here you could change the payload manifest and change the first name and last name.
payload["claims"]["given_name"] = "Megan";
payload["claims"]["family_name"] = "Bowen";
...
}
Langkah berikutnya
Pada langkah berikutnya, pelajari bagaimana aplikasi pihak ketiga, juga dikenal sebagai aplikasi pihak yang mengandalkan, dapat memverifikasi kredensial Anda dengan layanan API kredensial penyewa Microsoft Entra sendiri yang dapat diverifikasi.