#api #platform-of-trust
#API #платформа доверия
Вопрос:
В изолированной среде зарегистрированный пользователь должен быть участником a group
для регистрации data products
или apps
.
Как я могу добавить своего пользователя в группу?
Ответ №1:
Вы, как пользователь, являетесь идентификатором типа Person
. A Group
также является типом идентификатора в Platform of Trust.
Пользователь должен быть связан с группой с MemberOf
типом ссылки.
Используя Identity API
, вы можете создать идентификатор Group
типа и подключить свой собственный идентификатор пользователя к группе с MemberOf
помощью ссылки типа.
Чтобы создать группу, выполните следующую команду 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"
В случае успеха вы получите следующий ответ, включающий идентификатор созданного group
.
Далее вам нужно связать свой идентификатор пользователя с созданным идентификатором группы с MemberOf
помощью ссылки типа.
вариант 1: в этом сообщении в StackOverflow обсуждается, как получить идентификатор текущего вошедшего в систему пользователя.
или,
вариант 2: начните с получения вашего идентификатора пользователя (вам необходимо войти в изолированную среду), используя /me
конечную точку 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"
}
Затем сделайте POST-запрос к Identity API с идентификаторами вашего пользователя и созданной группы в качестве параметров:
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
= Идентификатор вашего собственного пользователя toIdentityID
= идентификатор созданной группы выше.
В случае успеха вы должны получить следующий ответ:
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"
}
}
Теперь вы сможете использовать созданную группу для регистрации данных продуктов и приложений в Platform of Trust.
В качестве альтернативы вы можете использовать world-sandbox.oftrust.net чтобы создать свой групповой идентификатор с помощью пользовательского интерфейса. Просто сохраните идентификатор группы, который отображается в S-оповещении.
Ознакомьтесь с документацией Identity API здесь.
Вы также можете использовать наше рабочее пространство Insomnia и руководство для выполнения запроса цепочки для создания Group
.