BIM 360 Проверка разрешений - PullRequest
0 голосов
/ 14 октября 2019

Я создал пользователя с правами на просмотр только папки. При проверке, имеет ли пользователь разрешение администратора, возвращаемое значение равно true, когда оно должно быть ложным.

Наше приложение использует Oauth с тремя ножками. Я проверил, используя двухстороннюю аутентификацию через Почтальон, и получил правильный ответ. Проблема, по-видимому, связана только при использовании авторизации с 3-мя ножками. Я проверил идентификатор пользователя, связанный с токеном, введя GET для https://developer.api.autodesk.com/userprofile/v1/users/@me

. Чтобы проверить разрешения пользователя, я выполняю POST для: https://developer.api.autodesk.com/data/v1/projects/my-project-id/commands

{
   "jsonapi":{
      "version":"1.0"
   },
   "data":{
      "attributes":{
         "extension":{
            "data":{
               "requiredActions":[
                  "admin"
               ]
            },
            "type":"commands:autodesk.core:CheckPermission",
            "version":"1.0.0"
         }
      },
      "relationships":{
         "resources":{
            "data":[
               {
                  "type":"folders",
                  "id":*folder-urn-goes-here*
               }
            ]
         }
      },
      "type":"commands"
   }
}

1 Ответ

0 голосов
/ 16 октября 2019

Вот что я сделал:

В продукте для моей тестовой учетной записи установите разрешение на View:

enter image description here

Для этого пользователя получите жетон на 3 ножки

POST https://developer.api.autodesk.com/data/v1/projects/b.abcd-1234/commands:

{
   "jsonapi":{
      "version":"1.0"
   },
   "data":{
      "attributes":{
         "extension":{
            "data":{
               "requiredActions":[
                  "admin"
               ]
            },
            "type":"commands:autodesk.core:CheckPermission",
            "version":"1.0.0"
         }
      },
      "relationships":{
         "resources":{
            "data":[
               {
                  "type":"folders",
                  "id":"urn:adsk.wipprod:fs.folder:co.abcd1234"
               }
            ]
         }
      },
      "type":"commands"
   }
}

Ответ

{
    "jsonapi": {
        "version": "1.0"
    },
    "data": {
        "type": "commands",
        "id": "05526951-238f-4d62-9b6f-45802bd78a1e",
        "attributes": {
            "status": "complete",
            "extension": {
                "type": "commands:autodesk.core:CheckPermission",
                "version": "1.0",
                "schema": {
                    "href": "https://developer.api.autodesk.com/schema/v1/versions/commands:autodesk.core:CheckPermission-1.0"
                },
                "data": {
                    "requiredActions": [
                        "admin"
                    ],
                    "permissions": [
                        {
                            "type": "folders",
                            "id": "urn:adsk.wipprod:fs.folder:cabcd1234",
                            "permission": false
                        }
                    ]
                }
            }
        },
        "relationships": {
            "resources": {
                "data": [
                    {
                        "type": "folders",
                        "id": "urn:adsk.wipprod:fs.folder:co.abcd1234",
                        "meta": {}
                    }
                ]
            }
        }
    }
}

Как и ожидалось, requiredActions:admin получается как "permission": false.

...