啟用 did:web:path 支援
在本文中,我們會探討為您的授權單位啟用 did:web:path 支援的步驟。
did:web:path 在<did:web 方法規格>中描述。 如果您有需要使用大量授權單位的環境,取得它們的網域名稱會成為系統管理問題。 使用單一網域並讓不同的授權單位顯示為網域下的路徑可能是較有利的方法。
根據預設,租用戶和授權單位不會啟用支援 did:web:path。 您可以透過在 Microsoft Entra 系統管理中心建立新的支援要求,以要求授權單位啟用 did:web:path。
支援票證詳細資料:
- 問題類型:
Technical
- 服務類型:
Microsoft Entra Verified ID
- 問題類型:
Configuration organization and domains
- 摘要:
Enable did:web:path request
- 描述:請務必包括
- 您的 Microsoft Entra
tenant ID
- 您的
did
(範例:did:web:verifiedid.contoso.com) - 預估的子路徑數目
- 業務理由
- 您的 Microsoft Entra
您的支援要求得到確認,但您也可以在一般瀏覽器中驗證是否已啟用 did:web 網域。 藉由新增不存在的路徑(:do-not-exist
在下列範例中),如果授權單位未啟用,則會收到具有程式代碼的錯誤訊息,但如果已啟用,則為程序代碼discovery_service.web_method_path_not_supported
discovery_service.not_found
。
https://discover.did.msidentity.com/v1.0/identifiers/did:web:my-domain.com:do-not-exist
為您的租用戶和授權單位啟用 did:web:path 之後,您可以在使用 did:web:path 的相同租用戶中建立新的授權單位。 目前需要使用管理員 API,因為入口網站中不支援它。
- 取得現有授權單位的詳細資料
- 移至
Verified ID | Overview
並複製網域 (範例:https://verifiedid.contoso.com/
) - 移至
Verified ID | Organization settings
並記下正在設定的金鑰保存庫。 - 移至金鑰保存庫資源,並複製
resource group
、subscription ID
和Vault URI
- 移至
- 使用下列 JSON 主體 (視需要修改) 呼叫建立授權單位。 路徑中的
/my-path
是指定要使用的路徑名稱的位置。
POST /v1.0/verifiableCredentials/authorities
{
"name":"ExampleNameForPath",
"linkedDomainUrl":"https://my-domain.com/my-path",
"didMethod": "web",
"keyVaultMetadata":
{
"subscriptionId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroup":"verifiablecredentials",
"resourceName":"vccontosokv",
"resourceUrl": "https://vccontosokv.vault.azure.net/"
}
}
- 呼叫 generateDidDocument,其中
newAuthorityIdForPath
為建立授權單位回覆中的id
屬性,以產生新授權單位的 did 文件:
POST /v1.0/verifiableCredentials/authorities/:newAuthorityIdForPath/generateDidDocument
將文件回覆儲存至名為
did.json
的檔案,並將它上傳至與用於建立授權單位的 API 呼叫中的linkedDomainUrl
相符的 Web 伺服器位置。 如果您的路徑是https://my-domain.com/my-path
,新的 did.json 檔案必須位於該位置。透過使用下列 JSON 主體 (視需要修改) 呼叫 generateWellknownDidConfiguration API 來擷取連結網域的設定。 domainUrl 是沒有路徑的網域名稱
POST /v1.0/verifiableCredentials/authorities/:newAuthorityIdForPath/generateWellknownDidConfiguration
{
"domainUrl":"https://my-domain.com/"
}
從回覆中,複製
linked_dids
集合內的 JWT 權杖。在您的 Web 伺服器上,在編輯器中開啟檔案
https://my-domain.com/.well-known/did.configuration.json
,並將 JWT 權杖新增為 linked_dids 集合內的新項目。 新增後,其外觀應該如下所示。
{
"@context": "https://identity.foundation/.well-known/contexts/did-configuration-v0.0.jsonld",
"linked_dids": [
"eyJh...old...U7cw",
"eyJh...new...V8dx",
]
}
- 儲存檔案。
必須使用系統管理 API 來建立合約。 次要授權單位目前沒有使用者介面支援。
若要讓應用程式根據新 did:web:path 授權單位中的合約發出認證,您只需要變更要求酬載中的 authority
字段為 createIssuanceRequest API。
{
"authority": "did:web:my-domain.com:my-path",
"includeQRCode": false,
... the rest is the same...
}