如何将我的用户作为成员包含在沙盒中的组类型身份中?

How to include my user as a member in a Group type identity in Sandbox?

Sandbox中,登录用户需要成为group的会员才能注册data productsapps

如何将我的用户添加到群组?

作为用户,您是 Person 类型的身份。 Group 也是信任平台中的一种身份。

一个人必须link编入一个 MemberOf 类型 link 的组。

使用 Identity API,您可以创建一个 Group 类型的身份并将您自己的用户身份连接到具有 MemberOf 类型的组 link。

要创建组,运行 以下 cURL 命令:

curl -i -X POST \
   -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9eyJzY29w...DVs5aaf" \
   -H "Content-Type: application/json" \
   -d \
"{
  "context": "https://standards.oftrust.net/v2/Context/Identity/Group/",
  "type": "Group",
  "data": {
    "name": "Company Oy"
  }
}" "https://api-sandbox.oftrust.net/identities/v1"

成功后,您将收到以下响应,包括创建的 ID group

接下来,您需要将您的用户身份 link 转换为具有 MemberOf 类型 link 的已创建组身份 link。

选项1:Whosebug中的这个post讨论了如何获取当前登录用户的ID。

或者,

选项2: 首先使用 /me 获取您的用户 ID(您需要登录沙盒) Login API

要求:

curl -i -X GET \
   -H "Authorization: Bearer eyJ0eXAi...hdEsJLNGV2YA" \
 "https://api-sandbox.oftrust.net/me"

回复:

HTTP/1.0 200

{
    "@context": "https://standards.oftrust.net/v2/Context/Identity/LegalParty/Person/",
    "@type": "Person",
    "@id": "33237067-14c3-4801-9e50-bf08406406e2",
    "email": "user@example.com",
    "role": "developer",
    "firstName": "Anna",
    "lastName": "Bar"
}

然后向 Identity API 发出 POST 请求,将您的用户的身份 ID 和创建的组作为参数:

curl -i --request POST \
  --url https://api-sandbox.oftrust.net/identities/v1/{fromIdentityId}/link/{toIdentityId} \
  --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9eyJzY29w...DVs5aaf' \
  --header 'content-type: application/json' \
  --data '{
  "context": "https://standards.oftrust.net/v2/Context/Link/Role/MemberOf/",
  "type": "MemberOf"
}'

记得设置参数如下:

fromIdentityId = 您自己的用户 ID toIdentityID = 上面创建的组的ID。

成功后,您应该会收到以下响应:

HTTP/1.0 201

{
  "@context": "https://standards.oftrust.net/v2/Context/Link/Role/MemberOf/",
  "@type": "MemberOf",
  "@id": "be7a2c57-03d8-46f4-aaf0-2b1ca118ef5c",
  "from": "8ac7494b-b7bc-4a63-a253-4b9b1887b262",
  "to": "a6b5a74e-bd98-4c9b-9561-932877258833",
  "data": {},
  "metadata": {
    "createdAt": "2019-09-12T09:49:24+00:00",
    "createdBy": "33237067-e72c-4f26-b78b-9f9e234b2e7d",
    "updatedAt": "2019-09-12T09:49:24+00:00",
    "updatedBy": "33237067-e72c-4f26-b78b-9f9e234b2e7d"
  }
}

现在您将能够使用创建的组在信任平台中注册数据产品和应用程序。

或者,您可以使用 world-sandbox.oftrust.net 使用 UI 创建您的组标识。只需保存出现在 S-alert 中的组 ID。

签出身份 API 文档 here

您还可以使用我们的 Insomnia Workspace and Guide to execute chain request 创建一个 Group