关于获取VC主体DID及MS Authenticator、Azure VC管理的技术咨询
针对Verifiable Credentials相关问题的解答
1. 发行方应用如何获取用户的DID?
当发行方要向用户颁发VC时,流程通常是这样的:
- 发行方基于OIDC4VCI等标准协议发起VC颁发请求,引导用户打开Authenticator这类钱包应用。
- 用户在钱包中授权后,钱包会将自己生成的用户DID提供给发行方。这个过程在身份验证或颁发协商阶段完成,发行方无需主动“抓取”,而是通过协议交互由钱包在用户授权前提下主动暴露。
- 部分场景下,发行方也可以先要求用户用钱包完成身份认证,认证过程中就能同步拿到用户的DID。
2. MS Authenticator App是否同时是身份中心(Identity Hub)并存储凭证?
你的理解完全正确。微软Authenticator App不仅是一个DID钱包,同时集成了Identity Hub功能:
- 它负责存储用户已领取的所有Verifiable Credentials;
- 管理用户的DID身份,包括DID的生成、更新等操作;
- 作为用户的身份中心,统一处理身份验证、凭证展示等请求。
3. Azure中的urn:pic:...格式Credential ID是不是凭证的DID?VC在ION/BTC链上有记录吗?
- 首先,你的猜测是对的:
urn:pic:...格式的Credential ID不是凭证的DID。它是Azure Verifiable Credentials服务内部生成的凭证标识符,主要用于Azure平台内的凭证追踪、吊销操作,和用户的DID没有直接关联。 - 关于ION/BTC链的记录:ION是构建在BTC区块链之上的DID网络,用户的DID身份信息(比如公钥、DID文档的哈希)会被锚定到BTC链上,但VC本身不会直接写入链上。VC是由发行方签名的离线凭证,仅在其内容中关联用户的DID。
- 发行方/验证方获取凭证关联DID的方式:
- 直接解析VC内容:VC的payload里会包含
subject字段,该字段的值就是对应的用户DID; - 如果使用Azure VC服务,发行方可以通过服务提供的API查询颁发记录,从中获取该VC关联的用户DID。
- 直接解析VC内容:VC的payload里会包含
内容的提问来源于stack exchange,提问作者Nishant Agrawal
相关产品推荐
相关产品推荐

