設定 Microsoft Entra 驗證識別碼驗證器
在從應用程式核發 Microsoft Entra 驗證識別碼認證中,您會瞭解如何使用相同的 Microsoft Entra 租用戶來核發和驗證認證。 在真實世界案例中,簽發者和驗證者是個別的組織,驗證者會使用自己的 Microsoft Entra 租用戶來執行另一個組織所簽發認證的驗證。 在本教學課程中,您會進行一遍所需步驟,以出示並驗證您的第一個可驗認證:已驗證的認證專家卡。
身為驗證者,您可以解除鎖定擁有已驗證認證專家卡片之主體的權限。 在此教學課程,您會從本機電腦執行應用程式範例,該應用程式會要求您出示經過驗證的認證專家卡,然後對其進行驗證。
在本文中,您將學會如何:
- 將應用程式範例的程式碼下載至您的本機電腦
- 在 Microsoft Entra 租用戶上設定 Microsoft Entra 驗證識別碼
- 收集認證和環境詳細資料來設定應用程式範例,並使用已驗證的認證專家卡詳細資料來更新應用程式範例
- 執行應用程式範例,並起始可驗認證核發程序
必要條件
- 為 Microsoft Entra 驗證識別碼設定租用戶。
- 如果您想要複製裝載範例應用程式的存放庫,請安裝 Git。
- Visual Studio Code、Visual Studio 或類似的程式碼編輯器。
- .NET 7.0。
- 下載 ngrok 並註冊來取得一個免費帳戶。 如果您無法在組織中使用
ngrok
,請閱讀此常見問題。 - 含最新版 Microsoft Authenticator 的行動裝置。
收集租用戶詳細資料以設定應用程式範例
現在您已設定 Microsoft Entra 驗證識別碼服務,您將會收集一些貴環境以及您所設定可驗認證的相關資訊。 設定應用程式範例時,您會使用這些資訊片段。
- 從 [已驗證的識別碼] 中,選取 [組織設定]。
- 複製 [租用戶識別碼] 值,並加以記錄以供稍後使用。
- 複製 [分散式識別碼] 值,並加以記錄以供稍後使用。
下列螢幕擷取畫面示範如何複製所需的值:
下載範例程式碼
應用程式範例在 .NET 中可用,而且程式碼會保留在 GitHub 存放庫中。 從 GitHub 存放庫中下載範例程式碼,或將存放庫複製到本機電腦:
git clone git@github.com:Azure-Samples/active-directory-verifiable-credentials-dotnet.git
設定可驗認證應用程式
為您建立的已註冊應用程式設定用戶端密碼。 應用程式範例在要求權杖時,會使用用戶端密碼來證明其身分識別。
在 Microsoft Entra ID 中,移至 [應用程式註冊]。
選取您稍早所建立的 verifiable-credentials-app 應用程式。
選取進入 [應用程式註冊詳細資料] 的名稱。
複製應用程式 (用戶端) 識別碼值,並儲存以供稍後使用。
在 [應用程式註冊詳細資料] 中,從主功能表的 [管理] 下選取 [憑證與秘密]。
選取 [新用戶端密碼]。
在 [描述] 方塊中,輸入用戶端秘密的描述 (例如 vc-sample-secret)。
在 [到期] 下,選取秘密的有效持續時間 (例如,六個月)。 然後選取 [新增]。
記錄祕密的 [值]。 稍後的步驟需要此值。 秘密的值不會再顯示,而且無法透過任何其他方式來擷取,因此您應在可以看到時立即記錄它。
此時,您應該擁有設定範例應用程式所需的所有必要資訊。
更新應用程式範例
現在修改應用程式範例的簽發者程式碼,以使用您的可驗認證 URL 加以更新。 此步驟可讓您使用自己的租用戶發出可驗認證。
在 active-directory-verifiable-credentials-dotnet-main 目錄中,開啟 Visual Studio Code。 在 1. asp-net-core-api-idtokenhint 目錄內選取專案。
開啟專案根資料夾下的 appsettings.json 檔案。 此檔案包含您在 Microsoft Entra 已驗證 ID 環境中之認證的相關資訊。 使用您在先前步驟期間所收集的資訊來更新下列屬性。
- 租用戶識別碼:您的租用戶識別碼
- 用戶端識別碼:您的用戶端識別碼
- 用戶端秘密:您的用戶端秘密
- DidAuthority:您的分散式識別碼
- CredentialType:您的認證類型
CredentialManifest 僅在核發時才需要,因此如果您只是想進行演示,則完全不需要它。
儲存 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"
}
}
執行和測試應用程式範例
現在您已準備好執行應用程式範例,以呈現並驗證您的第一個已驗證認證專家卡片。
從 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
在另一個終端機中,執行下列命令。 此命令會執行 ngrok,以在 5000 上設定 URL,並讓其可在網際網路上公開使用。
ngrok http 5000
注意
在某些電腦上,您可能需要以下列格式來執行該命令:
./ngrok http 5000
。開啟 ngrok 所產生的 HTTPS URL。
從網頁瀏覽器中,選取 [驗證認證]。
使用您的行動裝置,透過 Authenticator 應用程式掃描 QR 代碼。 如需掃描 QR 代碼的詳細資訊,請參閱 常見問題一節。
當您看到警告訊息 (此應用程式或網站可能有風險) 時,請選取 [進階]。 您會看到此警告是因為您的網域未經驗證。 在本教學課程中,您可以略過網域註冊步驟。
在有風險的網站警告中,選取 [仍然繼續 (不安全)]。
選取 [允許] 以核准要求。
核准要求之後,您可以看到該要求已核准。 您也可以檢查記錄檔。 若要查看記錄檔,請選取可驗證的認證。
然後選取 [最近的活動]。
[最近的活動] 會向您顯示您的可驗證認證的最近活動。
返回範例應用程式。 它會向您顯示已收到可驗證認證的呈現內容。
下一步
了解如何自訂可驗認證。