建立具有多個證明的可驗認證
使用多個證明類型的規則定義會產生核發流程,其中宣告來自多個來源。 例如,您可能需要出示現有的認證,並在 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.z13.web.core.windows.net/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 是授權單位值。
下一步
請參閱規則和顯示定義參考。