設定 Microsoft Entra 驗證識別碼 驗證程式

在 [從應用程式發出 Microsoft Entra 驗證識別碼 認證] 中,您會瞭解如何使用相同的 Microsoft Entra 租使用者發出和驗證認證。 在真實世界的案例中,簽發者和驗證者是個別的組織,驗證程式會使用 自己的 Microsoft Entra 租用戶來執行其他組織所簽發之認證的驗證。 在本教學課程中,您會完成呈現及驗證第一個可驗證認證所需的步驟:已驗證的認證專家卡片。

身為驗證者,您可以解除鎖定擁有已驗證認證專家卡片之主體的權限。 在本教學課程中,您會從本機計算機執行範例應用程式,要求您出示已驗證的認證專家卡,然後加以驗證。

在本文中,您將學會如何:

  • 將範例應用程式程式代碼下載到本機計算機
  • 在您的 Microsoft Entra 租用戶上設定 Microsoft Entra 驗證識別碼
  • 收集認證和環境詳細數據以設定範例應用程式,並使用已驗證的認證專家卡詳細數據更新範例應用程式
  • 執行範例應用程式並起始可驗證的認證發行程式

必要條件

收集租用戶詳細資料以設定應用程式範例

現在您已設定 Microsoft Entra 驗證識別碼服務,您將會收集一些貴環境以及您所設定可驗認證的相關資訊。 設定應用程式範例時,您會使用這些資訊片段。

  1. [已驗證的標識符] 中,選取 [ 組織設定]。
  2. 複製租 用戶標識碼 值,並記錄它以供稍後使用。
  3. 複製分散式標識碼值,並記錄它以供稍後使用。

下列螢幕擷取畫面示範如何複製所需的值:

示範如何從 Microsoft Entra 驗證識別碼 複製必要值的螢幕快照。

下載範例程式碼

應用程式範例在 .NET 中可用,而且程式碼會保留在 GitHub 存放庫中。 從 GitHub 存放庫下載範例程式代碼,或將存放庫複製到本機電腦:

git clone git@github.com:Azure-Samples/active-directory-verifiable-credentials-dotnet.git 

設定可驗認證應用程式

為您建立的已註冊應用程式設定用戶端密碼。 應用程式範例在要求權杖時,會使用用戶端密碼來證明其身分識別。

  1. 在 Microsoft Entra ID 中,移至 [應用程式註冊]

  2. 選取您稍早所建立的 verifiable-credentials-app 應用程式。

  3. 選取進入 [應用程式註冊詳細資料] 的名稱。

  4. 複製應用程式 (用戶端) 識別碼值,並儲存以供稍後使用。

    顯示如何取得應用程式識別碼的螢幕快照。

  5. 在 [應用程式註冊詳細資料] 中,從主功能表的 [管理] 下選取 [憑證與秘密]

  6. 選取 [新用戶端密碼]

    1. 在 [描述] 方塊中,輸入用戶端秘密的描述 (例如 vc-sample-secret)。

    2. 在 [到期] 下,選取秘密的有效持續時間 (例如,六個月)。 然後選取 [新增]。

    3. 記錄祕密的 [值]。 稍後的步驟需要此值。 秘密的值不會再顯示,而且無法透過任何其他方式來擷取,因此您應在可以看到時立即記錄它。

此時,您應該擁有設定範例應用程式所需的所有必要資訊。

更新應用程式範例

現在修改應用程式範例的簽發者程式碼,以使用您的可驗認證 URL 加以更新。 此步驟可讓您使用自己的租用戶發出可驗認證。

  1. active-directory-verifiable-credentials-dotnet-main 目錄中,開啟 Visual Studio Code。 選取 1. asp-net-core-api-idtokenhint 目錄中的專案

  2. 在專案根資料夾下,開啟 appsettings.json 檔案。 此檔案包含您在 Microsoft Entra 已驗證 ID 環境中之認證的相關資訊。 使用您在先前步驟期間所收集的資訊來更新下列屬性。

    1. 租用戶標識碼:您的租用戶標識碼
    2. 用戶端識別碼:您的用戶端識別碼
    3. 用戶端秘密:您的用戶端秘密
    4. DidAuthority:您的分散式識別碼
    5. CredentialType:您的認證類型

    CredentialManifest 僅在核發時才需要,因此如果您只是想進行演示,則完全不需要它。

  3. 儲存 appsettings.json 檔案。

下列 JSON 示範完整的 appsettings.json 檔案:

{
  "VerifiedID": {
    "Endpoint": "https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/",
    "VCServiceScope": "3db474b9-6a0c-4840-96ac-1fceb342124f/.default",
    "Instance": "https://login.microsoftonline.com/",
    "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]",
    "DidAuthority": "did:web:...your-decentralized-identifier...",
    "CredentialType": "VerifiedCredentialExpert",
    "CredentialManifest":  "https://verifiedid.did.msidentity.com/v1.0/12345678-0000-0000-0000-000000000000/verifiableCredentials/contracts/VerifiedCredentialExpert"
  }
}

執行和測試應用程式範例

現在您已準備好執行應用程式範例,以呈現並驗證您的第一個已驗證認證專家卡片。

  1. 從 Visual Studio Code 中執行 Verifiable_credentials_DotNet 專案。 或從命令殼層中執行下列命令:

    cd active-directory-verifiable-credentials-dotnet\1-asp-net-core-api-idtokenhint
    dotnet build "AspNetCoreVerifiableCredentials.csproj" -c Debug -o .\bin\Debug\net6
    dotnet run
    
  2. 在另一個終端機中,執行下列命令。 此命令會 執行 ngrok 以在 5000 上設定 URL,並在因特網上公開提供它。

    ngrok http 5000 
    

    注意

    在某些電腦上,您可能需要以下列格式來執行該命令:./ngrok http 5000

  3. 開啟 ngrok 所產生的 HTTPS URL。

    顯示如何取得 ngrok 公用 URL 的螢幕快照。

  4. 從網頁瀏覽器中,選取 [驗證認證]

    顯示如何從範例應用程式驗證認證的螢幕快照。

  5. 使用 Authenticator 掃描 QR 代碼,或直接從您的行動裝置上的相機中掃描它。

  6. 當您看到警告訊息 (此應用程式或網站可能有風險) 時,請選取 [進階]。 您會看到此警告是因為您的網域未經驗證。 在本教學課程中,您可以略過網域註冊。

    顯示如何在具風險驗證器應用程式警告上選擇進階的螢幕快照。

  7. 在有風險的網站警告中,選取 [仍然繼續 (不安全)]

    顯示如何繼續進行具風險警告的螢幕快照。

  8. 選取 [允許] 以核准要求。

    顯示如何核准簡報要求的螢幕快照。

  9. 核准要求之後,您可以看到該要求已核准。 您也可以檢查記錄檔。 若要查看記錄檔,請選取可驗證的認證。

    顯示已驗證認證專家卡的螢幕快照。

  10. 然後選取 [最近的活動]

    顯示您前往認證歷程記錄之最近活動按鈕的螢幕快照。

  11. [最近的活動] 會向您顯示您的可驗證認證的最近活動。

    顯示可驗證認證的歷程記錄的螢幕快照。

  12. 返回範例應用程式。 它會向您顯示已收到可驗證認證的呈現內容。

    顯示已收到可驗證認證的顯示螢幕快照。

下一步

瞭解如何 自定義可驗證的認證