Почему я не могу удалить связь между личными и групповыми идентификаторами с помощью API идентификации Platform of Trust?

#api #platform #platform-of-trust

#API #Платформа #платформа доверия

Вопрос:

Я создал учетную запись в песочнице

Затем я создал группу с

 curl -i -X POST 
   -H "Authorization: Bearer <ACCESS_TOKEN>" 
   -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"
  

Я также создал связь между человеком и группой, я использовал MemberOf

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

Я получил успешный ответ, что между этими идентификаторами была создана ссылка.

Пытаюсь удалить эту ссылку сейчас, но получаю в качестве ответа 404, а ссылка на сообщение не найдена.

То, что я пытаюсь, соответствует примеру из документации

 curl -i -X DELETE 
   -H "Authorization: Bearer <ACCESS_TOKEN>" 
 "https://api-sandbox.oftrust.net/identities/v1/{fromIdentityId}/link/{toIdentityId}/MemberOf"
  

[ОБНОВЛЕНИЕ]: Я обнаружил также в документации Identity API, в которой могут быть перечислены все ссылки на identity.
И сделали это для групповой идентификации:

 curl -i -X GET 
   -H "Authorization: Bearer <ACCESS_TOKEN>" 
 "https://api-sandbox.oftrust.net/identities/v1/<group_id>/links"

  

Ответ показывает эту связь между идентификаторами группы и человека.

Ответ №1:

Во-первых, убедитесь, что вы соблюдали значения идентификаторов (их порядок) для From и To . Они должны быть такими же, какие вы получаете в ответ https://api-sandbox.oftrust.net/identities/v1/<group_id>/links

Во-вторых, конечная точка удаления ссылки должна использоваться с типом, как показано на примере. В этом случае MemberOf . Но, глядя на создание ссылки, есть опечатка: используемый контекст правильный, но тип есть Member . Тип должен соответствовать последней части имени в контексте => MemberOf

В этом случае, поскольку вы пытаетесь удалить его, просто используйте Member

 curl -i -X DELETE 
   -H "Authorization: Bearer <ACCESS_TOKEN>" 
 "https://api-sandbox.oftrust.net/identities/v1/{fromIdentityId}/link/{toIdentityId}/Member"