Как включить моего пользователя в качестве участника в идентификатор типа группы в изолированной среде?

#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 .