使用多個證明建立可驗證的認證
使用多個證明類型的規則定義會產生發行流程,其中宣告來自多個來源。 例如,您可能需要出示現有的認證,並手動輸入 Microsoft Authenticator 中宣告的值。
在本操作指南中,我們會新增自我證明宣告,讓使用者在發行期間必須輸入 Authenticator,藉此擴充 標識符令牌提示證明 範例。 對已驗證標識碼的發行要求會包含標識元令牌提示,其中包含的宣告值 given_name
,以及 family_name
使用者自行輸入之宣告 displayName
的自我發行證明類型。
建立具有多個證明類型的自定義認證
在 Azure 入口網站 中,當您選取 [新增認證] 時,您會取得啟動兩個快速入門的選項。 選取 自定義認證,然後選取 [ 下一步]。
在 [ 建立新的認證 ] 頁面上,輸入顯示和規則定義的 JSON 程序代碼。 在 [ 認證名稱] 方塊中,為認證提供類型名稱。 若要建立認證,請選取 [建立]。
範例 JSON 顯示定義
相較於標識元令牌提示顯示定義,JSON 顯示定義有一個名為 displayName 的額外宣告。
{
"locale": "en-US",
"card": {
"title": "Verified Credential Expert",
"issuedBy": "Microsoft",
"backgroundColor": "#507090",
"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.displayName",
"label": "Name",
"type": "String"
},
{
"claim": "vc.credentialSubject.firstName",
"label": "First name",
"type": "String"
},
{
"claim": "vc.credentialSubject.lastName",
"label": "Last name",
"type": "String"
}
]
}
範例 JSON 規則定義
JSON 規則定義包含兩個不同的證明,指示 Authenticator 從兩個不同的來源取得宣告值。 要求服務 API 的發行要求會提供宣告 的值, given_name和 family_name 以滿足 idTokenHints 證明。 在發行期間,系統會要求使用者輸入 Authenticator 中 displayName 的宣告值。
{
"attestations": {
"idTokenHints": [
{
"mapping": [
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
],
"selfIssued": {
"mapping": [
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "displayName",
"indexed": false
}
],
"required": false
}
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
在發行期間宣告輸入
在發行期間,Authenticator 會提示使用者輸入指定宣告的值。 不會驗證用戶輸入。
已發行認證中的宣告
發行的認證總共會有三個宣告,其中 First
和 Last name
來自 標識符令牌提示 證明,而 Name
來自 自我發行 的證明。
設定範例以發出並驗證您的自定義認證
若要設定範例程式代碼以發出並驗證您的自訂認證,您需要:
- 租使用者的簽發者分散式標識碼 (DID)
- 認證類型
- 認證的指令清單 URL
若要尋找自定義認證這項資訊,最簡單的方式是在 Azure 入口網站 中移至您的認證。 選取 [ 發出認證]。 然後,您可以存取具有要求服務 API JSON 承載的文字框。 將佔位元值取代為您的環境資訊。 簽發者的 DID 是授權單位值。
下一步
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: