Menerbitkan info masuk ID Terverifikasi Microsoft Entra dari aplikasi

Catatan

Kredensial yang dapat Diverifikasi Azure Active Directory sekarang menjadi ID Terverifikasi Microsoft Entra dan bagian dari rangkaian produk Microsoft Entra. Pelajari selengkapnya tentang rangkaian Microsoft Entra solusi identitas dan mulai di pusat admin Microsoft Entra terpadu.

Dalam tutorial ini, Anda menjalankan aplikasi sampel dari komputer lokal Anda yang terhubung ke penyewa Azure Active Directory (Microsoft Azure AD) 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.

Diagram yang menggambarkan arsitektur kredensial yang dapat diverifikasi Microsoft Azure AD.

Prasyarat

  • Siapkan penyewa untuk ID Terverifikasi Microsoft Entra.
  • Untuk mengkloning repositori yang menghosting aplikasi contoh, instal GIT
  • Visual Studio Code, atau editor kode lainnya
  • .NET 5.0
  • Unduh ngrok dan daftar untuk mendapatkan akun gratis. Jika tidak dapat menggunakan ngrok di organisasi Anda, baca FAQ ini.
  • Setiap perangkat seluler yang telah menginstal Microsoft Authenticator
    • Android versi 6.2206.3973 atau yang lebih baru diinstal.
    • iOS versi 6.6.2 atau yang lebih baru diinstal.

Buat Kartu Ahli Kredensial Terverifikasi di Azure.

Pada langkah ini, Anda membuat kartu ahli informasi masuk terverifikasi dengan menggunakan ID Terverifikasi Microsoft Entra. Setelah Anda membuat informasi masuk, penyewa Azure AD Anda dapat menerbitkannya kepada pengguna yang memulai proses.

  1. Dengan menggunakan portal Azure, telusuri ID Terverifikasi lalu pilih.

  2. 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.

  3. Di Buat info masuk, pilih Info masuk Kustom dan klik Berikutnya:

    1. 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.

    2. 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.blob.core.windows.net/public/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"
            }
          ]
      }
      
    3. 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": false
                }
              ],
              "required": false
            }
          ]
        },
        "validityInterval": 2592000,
        "vc": {
          "type": [
            "VerifiedCredentialExpert"
          ]
        }
      }
      
    4. Pilih Buat.

Cuplikan layar berikut menunjukkan cara membuat kredensial baru:

Cuplikan layar yang menampilkan cara membuat grup sumber daya 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.

  1. Di Kredensial yang Dapat Diverifikasi, pilih Terbitkan info masuk.

    Cuplikan layar memperlihatkan cara memilih kredensial terverifikasi yang baru dibuat.

  2. Salin otoritas, yang merupakan Pengidentifikasi Terdesentralisasi, dan rekam untuk nanti.

  3. Salin URL manifes. Ini adalah URL yang dievaluasi Authenticator sebelum ditampilkan kepada persyaratan penerbitan kredensial yang dapat diverifikasi pengguna. Rekam untuk digunakan nanti.

  4. 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.

  1. Navigasikan ke halaman Pendaftaran aplikasi yang terletak di dalam Azure Active Directory

  2. Pilih aplikasi verifiable-credentials-app yang Anda buat sebelumnya.

  3. Pilih nama untuk masuk ke detail Pendaftaran aplikasi

  4. Salin ID (klien) Aplikasi dan simpan untuk nanti.

    Cuplikan layar memperlihatkan cara menyalin ID pendaftaran aplikasi.

  5. Dari menu utama, di bawah Kelola, pilih Sertifikat & rahasia.

  6. Pilih + Langkah baru, dan lakukan langkah-langkah berikut:

    1. Di kotak Deskripsi, masukkan deskripsi rahasia klien (misalnya, vc-sample-secret).

    2. Di Kedaluwarsa, pilih durasi yang membuat rahasia tersebut valid, misalnya 6 bulan, lalu pilih Tambahkan. Kemudian pilih Tambahkan.

    3. Rekam 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.

  1. 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.

  2. 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:

    1. Tenant ID: ID penyewa Anda
    2. ID Klien: ID Klien Anda
    3. Client ID: rahasia klien Anda
    4. IssuerAuthority: Pengidentifikasi Terdesentralisasi Anda
    5. VerifierAuthority: Pengidentifikasi Terdesentralisasi Anda
    6. Manifes Informasi Masuk: URL manifes Anda
  3. Simpan file appsettings.json.

JSON berikut menunjukkan file appsettings.json lengkap:

{
  "AppSettings": {
    "Endpoint": "https://verifiedid.did.msidentity.com/v1.0",
    "VCServiceScope": "3db474b9-6a0c-4840-96ac-1fceb342124f/.default",
    "Instance": "https://login.microsoftonline.com/{0}",
    "TenantId": "12345678-0000-0000-0000-000000000000",
    "ClientId": "33333333-0000-0000-0000-000000000000",
    "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]",
    "IssuerAuthority": "did:web:example.com...",
    "VerifierAuthority": "did:web:example.com...",
    "CredentialManifest":  "https://verifiedid.did.msidentity.com/v1.0/12345678-0000-0000-0000-000000000000/verifiableCredentials/contracts/VerifiedCredentialExpert"
  }
}

Mengeluarkan kartu pakar kredensial terverifikasi pertama Anda

Sekarang Anda siap untuk menerbitkan Kartu Ahli Terverifikasi pertama Anda dengan menjalankan aplikasi contoh.

  1. 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\\netcoreapp3.
    dotnet run
    
  2. 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 3000

  3. Buka URL HTTPS yang dihasilkan oleh ngrok.

    Cuplikan layar yang memperlihatkan cara mendapatkan URL publik ngrok.

  4. Dari browser web, pilih Dapatkan Kredensial.

    Cuplikan layar yang memperlihatkan cara memilih mendapatkan kredensial dari aplikasi sampel.

  5. Menggunakan perangkat seluler Anda, pindai kode QR dengan aplikasi Authenticator. Anda juga dapat memindai kode QR langsung dari kamera Anda, yang akan membuka aplikasi Authenticator untuk Anda.

    Screenshot yang menunjukkan cara memindai kode Q R.

  6. Saat ini, Anda akan melihat pesan peringatan bahwa aplikasi atau situs web ini mungkin berisiko. Pilih Tingkat Lanjut.

    Screenshot yang menunjukkan cara menanggapi pesan peringatan.

  7. 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) .

    Cuplikan layar memperlihatkan cara melanjutkan dengan peringatan berisiko.

  8. 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.

    Screenshot yang memperlihatkan cara mengetik kode pin.

  9. 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.

  10. Pilih Tambahkan untuk menerima kredensial baru Anda yang dapat diverifikasi.

    Cuplikan layar yang menampilkan cara membuat grup sumber daya baru.

Selamat! Anda sekarang memiliki kartu kredensial ahli kredensial terverifikasi yang dapat diverifikasi.

Cuplikan layar yang menunjukkan kredensial yang dapat diverifikasi yang baru ditambahkan.

Kembali ke aplikasi sampel. Ini menunjukkan kepada Anda bahwa kredensial berhasil diterbitkan.

Cuplikan layar yang menunjukkan kredensial yang dapat diverifikasi yang baru ditambahkan.

Verifikasi Kartu Ahli Kredensial Terverifikasi Anda.

Sekarang Anda siap untuk menerbitkan Kartu Ahli Terverifikasi pertama Anda dengan menjalankan aplikasi contoh.

  1. Tekan tombol kembali di browser Anda untuk kembali ke halaman beranda aplikasi sampel.

  2. Pilih Verifikasi kredensial.

    Cuplikan layar memperlihatkan cara memilih tombol verifikasi kredensial.

  3. Menggunakan aplikasi pengautentikasi, pindai kode QR, atau pindai langsung dari kamera seluler Anda.

  4. Saat Anda melihat pesan peringatan, pilih OK. Lalu pilih Tetap lanjutkan (tidak aman) .

  5. Setujui permintaan presentasi dengan memilih Izinkan.

    Cuplikan layar memperlihatkan cara menyetujui permintaan presentasi baru kredensial yang dapat diverifikasi.

  6. Setelah menyetujui permintaan presentasi, Anda dapat melihat bahwa permintaan tersebut telah disetujui. Anda juga bisa memeriksa log. Untuk melihat log, pilih kredensial yang dapat diverifikasi:

    Cuplikan layar yang memperlihatkan kartu ahli kredensial yang dapat diverifikasi.

  7. Pilih Aktivitas akun terbaru.

    Cuplikan layar memperlihatkan tombol aktivitas terbaru yang membawa Anda ke riwayat kredensial.

  8. Anda sekarang dapat melihat aktivitas terbaru dari kredensial anda yang dapat diverifikasi.

    Cuplikan layar yang memperlihatkan riwayat kredensial yang dapat diverifikasi.

  9. Kembali ke aplikasi sampel. Ini menunjukkan kepada Anda bahwa presentasi kredensial yang dapat diverifikasi diterima.
    Screenshot yang menunjukkan bahwa presentasi diterima.

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 selanjutnya, Anda mempelajari bagaimana aplikasi pihak ketiga, juga dikenal sebagai aplikasi pihak yang mengandalkan dapat memverifikasi kredensial Anda dengan layanan API kredensial penyewa Microsoft Azure AD yang dapat diverifikasi milik mereka sendiri.