分享方式:


設定 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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "ClientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "ClientSecret": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
    "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/aaaabbbb-0000-cccc-1111-dddd2222eeee/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 代碼。 如需掃描 QR 代碼的詳細資訊,請參閱 常見問題一節

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

    螢幕擷取畫面,其中顯示如何在有風險驗證器應用程式警告上選擇 進階。

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

    螢幕擷取畫面,其中顯示如何繼續處理有風險的警告。

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

    螢幕擷取畫面,其中顯示如何核准出示要求。

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

    螢幕擷取畫面,其中顯示已驗證認證專家卡。

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

    螢幕擷取畫面,其中顯示將您帶往認證歷程記錄的 [最近活動] 按鈕。

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

    螢幕擷取畫面,其中顯示可驗認證的歷程記錄。

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

    螢幕擷取畫面,其中顯示接收到可驗認證的出示。

下一步

了解如何自訂可驗認證