1. Baidu Identity hub

Baidu Identity hub的域名是https://did.baidu.com/v1/identity-hub

2. hub 交互接口

Identity hub 的接口比较特殊,并非 Restful API 形式,所有的请求都是以加密形式发送到统一接口,Identity hub 解密请求内容后根据具体的信息来判断是请求什么接口操作,进而进行处理。例如发送一个查询 Object 的请求ObjectQueryRequest,具有如下的形式:

请求结构

POST /v1/identity-hub HTTP/1.1
Host: did.baidu.com
Content-Type: application/json

{
    "data": "..."
}

请求参数

参数名称 类型 是否必需 参数位置 描述
data String RequestBody 加密后的请求的具体内容,JWE 格式

返回参数

参数名称 类型 描述
data String 加密后的响应内容,JWE 格式

请求示例

POST /v1/identity-hub HTTP/1.1
Host: did.baidu.com
Content-Type: application/json

{
    "data": "eyJraWQiOiJkaWQ6Y2NwOjRYRjhCM0tTN05CcDNLaHFqWlp5QlJvdzJwVXUja2V5cy0xIiwiYWxnIjoiRVMyNTZLIiwiZW5jIjoiQTEyOEdDTSJ9.BEazNqcDYcXMMUGP-1pDGSnfxYpVs40Cnabp7C_uruHuoNZWZ35y-QBMgtbbGPjdoU4vTxeCGJaK2Tn1qK_Y0Jt3xC2OuErZLZdMUHPrQnV5Z6PFW0nHYL8RYkDe_h3LpEjHm8Ku01AiHJ8qY0rogHQt27NDMe1TTwA1V2y8U57ld45GAfmTF677UJmg-n3gnA.y61K4ySWww7tfGQO.udG3JRienGN0_AYSMHOqTrrOiwlDHDr0eiIxjCe0AysC-fv1GCisSeUBue4tOqtj9UsHbbGGay7fKgFICeUbyAvxU_IUhecQYXy6dlK7RtvwGK-eUdiyUkYCoPKdQdwx5ePj-YUGYh0X_AIagWiU9FhUPNS1h8vMkp-fDS_H7tRu72K8iyTg9WPpaEIx-1mxAft5ntFDo9D9W9PinFEjO92Q2h1G5JtVGe7X4qU1hZMD7uSrnUj9fQLWGapGDBCk4TCmhC_QqAzpat4O532xd_njejGLEeNrgO3hvxEu6z7_m4Zrj24cUD2WdMVobz7R8LJik91_iYopwJrkk3phUu75MvdXcJkqXeDs_fBvGzi_9ptkDESf58_Doy_Fu-UPe9_nge4c-QNEEKsP0uzCCuopmU9RNteqt5nhQYGxvrkV4EsBT6kHR_ndvFPYBo7aOYkrGysbKikHZExhmmIAmKKSPTKDxqBE9qjITq23ubP3z9ICwH6nRyP-6DtVbBdqEKHb1NZXHDPDOg-_MTEKDitopCCjz1jPfjU3eWnysIhzLRn31Fr2l4vv1oSBOB2BlF3wBN50sNAsrt21gWYXhDFemZtt7BrkMOsd_m7i0fOA-jJ9JvuLmjmctNJN1JplMkL9_IleQRQ3_EyCUMRFduXYPfZbiGmkd8hWvsiJCBmBRTDIjZbVYrys-U9pRbZlSw9vMqCuVU1Y9Q6thxpteQ3fsJr3N2ohe106Mlr4TUbd_Pxn2X-8k2aeherGIADJfwTAQdBBp6u79WVEsJvc8J7y7ScfrbVf4squJHYNZ72uWwkwLpHnGjgE2Bobmlre7xHkLUitZwZNFUnxreZucEf9SqOv6XITx9u_AY34198_uuJqQw99oYC6ZBFqOQ4sbxbG0PQDM0Kz88BldVihtzKoB2sMPbKLGbX64MRwMEMK3OK5Qq-LPzh759u-kVcIsk5iZN50YPOWfZVKGS3Rg4LGW-qz6wWEnTbTsdnXuv67jPP3TmB1Z_HcSTtMmGTC8OKDXXFWSLnC2QrkORvKXhU5326ZLJSeOq_kYkVR-FX8C5fplzBQf6SQXDT7pzJAzaUZ9u634bmj6RMPfF7HZvM8EsvDXlXi_3OG5ETEO8EfeM4FQwtIRVlXyJ--P9xwGPluK48iTqwKctLpvBtf4OkBlwPJtatc4tfq2B1QtnttZrnOIaHtGiufQ0aWmMOgxo2_lMC8qxN98TKglHSFEI0bKeYw6-7YCvKpJGKExllkkdIURvtK4BxMrECigWI63wtJRQSqgYlEZZ4eIDH9nTwn0VSOdGDJpRv73U-9hAfBPPnPEo7zvm4soG3z5hEA-8l9lRA3mhjDzw12lBe7jNjiCip7NlEGM0VZ5cwY--H_hfISR1mYmXJCVy3AuHvgwzPVtCw8nFa-vCdXKyUZ0rsppzWATkTnpGbQ0kbdsPrSmF8ALeOs3n0p51hW8FkF3NRxLUZIweYJopkQJjyl0a-QN803cbIPHNx753Ao1BEHo6BKdO7G22EiW1-U_SAC8A0vXfe-gWIYUGT2-VglAU1lYxfuFTkBUiz_OmPMUn_aIjNsklaAUS730cZQXUcNXMbhf0X5rg1Kn95JE7iWFDxHBm0Q7P8_WMqE4rAZovfgyT8LcO48Eww.2cAc6lFB8qYEbYxJmehoUA"
}

响应示例

HTTP/1.1 200 OK
Content-Type: application/octet-stream

{
    "data": "eyJraWQiOiJkaWQ6Y2NwOjNtNzljWXg1MWNibzltMjhQUFZrZDVIeHlkYmQja2V5cy0xIiwiYWxnIjoiRVMyNTZLIiwiZW5jIjoiQTEyOEdDTSJ9.BI66nCH0ZflpfxELV1uPE8U1-vtKvZ2vXNnEwDJxja7yQD719DzZOY_DjjUPf-guGMPqyA37iDWjEPuui9DVKYuGsqZb5x8OyPBTYUOuOt1NkJKYLlxNsFsKReEXJ5WDv2R1uppvu-aeDsj_DzmyUsdtp4K_m9TpTMK-s8kJqsLXbbMN4u0ZX8cn2Io_KIQwvA.K606Z3z7YoMt_xzJ.opEi1d6t37JhKPjvdV0B7eJPLPmzqKgMU4OBmU4cgTfakgPk9G6PvDM2uJ-65VlMvSsKQsqIR1RjwHsWrCs4k1JlJko1LX_A-EREznNNZK28RDLdMlvKpLWhuGQIpWyAC8sEacKAzjwdsz1jqKI4-4qIJpJYb4uwDF5Td81RAoA72edI03cZV7sdfPUOwFup-pCw4Da74qCeQbEv0456arR3N05k74t_-2D0Z_Q1uiIrLQTwHJOXWC6TTYuRcL_SBM78xiwJ3Br7sw-V7R6K80JpqDqD9nYkQbnt8IiUxKtWaE_hggOTRwVJMMhtqgRpThrAP3e-SttAXk_S9h1lxVan0AlTJcADuMK3aGtzK47sIk1sgKd2lgbX_Ely86cDR-Jbr-qXaOZ_utbwtCYCg18dPDzi8B4lLnsGQv6J7dHrjVE1GuhpGQFQIOAyOLBF0_Tc3o-9EmdNajBk8PaThTwiNPN0lks9ykC7f2UZFqBruu2gjoCOoEyNwMESelU-AxQpf-mt3MReLQRfYTgKQB_bQkgXS6wioHdo4SNrfjiwA6m6Ou8fb587myCQ0dBJ3n8tM7I0BUFyPq8sOFji3kLAf5uM3w.NpEcw2G3o15xq5E2eb-TEQ"
}

解密后的响应内容为:

{"@context":"https://schema.identity.foundation/0.1","@type":"ObjectQueryResponse","objects":[],"skip_token":null}

Identity hub 的交互采用 jose 认证,加密封装等过程比较麻烦,所以建议使用 js-sdk进行交互。

3. 获取 hub did

Identity hub 提供一个公开的接口,用于查询 hub did,该请求不需要 jose 认证,可用于检测 hub 的有效性。

请求结构

GET /v1/identity-hub HTTP/1.1
Host: did.baidu.com

响应示例

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8

did:ccp:4XF8B3KS7NBp3KhqjZZyBRow2pUu