1. 成为发证方
在整个 DID 解决方案中,Issuer 作为发证方,主要是提供服务接受用户的申请并向用户签发可验证声明。
发证方需要开发一个服务以支持如下功能:
- 对外开放一个接口,供用户申请声明并提供所需材料
- 提供一个吊销列表查询接口,方便对自己签发的声明进行吊销,并对外公示
2. 注册发证方相关信息
发证方需要把相关信息注册进一个中心化部署的发证方注册中心
内,从而用户使用DID客户端时能够通过这个注册中心发现发证方并知晓申请声明所需材料列表。
新增的 发证方 需要提供如下信息:
3. 实现标准化接口: 申请 Claim
举例:
// Request:
curl -X POST http://<IssuerEndpoint>/v1/claim/apply
-H 'Content-Type: application/json'
-H 'X-Request-Id: c318842a-9083-48c8-a8fb-8dc699de607f'
-d '{
"did": "did:ccp:3nAFGBDJ4nLfzYVdTQWDsAXRcF5b",
"provideData": {
"Name": "lilei",
"MobilePhone": "13088888888",
"ClaimType": "RealNameAuthentication"
},
"signature": "xxxxxasdxxxx"
}'
// Response:
{
code:0,
content: {
applyId:"c71f883b-b3dd-4851-8110-e94b32bef91d"
},
message:"ok"
}
4. 实现标准化接口: 获取申请结果
举例:
// Request:
curl -X POST http://<IssuerEndpoint>/v1/claim/apply/result \
-H 'Content-Type: application/json' \
-H 'X-Request-Id: c318842a-9083-48c8-a8fb-8dc699de607f'
-d '{
"did": "did:ccp:3nAFGBDJ4nLfzYVdTQWDsAXRcF5b",
"applyId": "c71f883b-b3dd-4851-8110-e94b32bef91d",
"signature": "xxxxxasdxxxx"
}'
// Response:
{
code:0,
content: {
status:"Done",
claim: {...} // claim详情,由did-sdk生成
},
message:"ok"
}
5. 实现标准化接口: 查询吊销列表
举例:
// Request:
curl -X GET http://<IssuerEndpoint>/v1/claim/revocations \
-H 'Content-Type: application/json' \
-H 'X-Request-Id: c318842a-9083-48c8-a8fb-8dc699de607f'
// Response:
{
"code": 0,
"message": "ok",
"content": [
"xxxxxx" // claim id
]
}