Обратите внимание!
Не используйте этот механизм – он поддерживается для совместимости с предыдущими версиями.
Авторизация пользователей по OAuth 2.0
OAuth 2.0 доступна в базовой сборке продукта.
В файле конфигурации /etc/polymatica/polymatica.conf устанавливаются следующие значения:
# Тип автоматической аутентификации plm.manager.auto_authentication_type = OAUTH2 # URI сервера авторизации для получения кода авторизации plm.manager.auto_authentication_code_uri = http://<CA address> # URI сервера авторизации для получения access-кода (token) plm.manager.auto_authentication_uri = http://<CA address> # URI в Polymatica Analytics для перехода после успешной авторизации сервером авторизации plm.manager.auto_authentication_redirect_uri = http://<Polymatica address>/login/callback # Credentials используется для авторизованного общения Polymatica Analytics с сервером авторизации plm.manager.auto_authentication_clientid = polymatica plm.manager.auto_authentication_password = password123
После этого необходимо перезапустить Polymatica Analytics.
В процессе авторизации Polymatica Analytics делает запрос к серверу авторизации на получение токена с правами пользователя. Токен имеет формат:
{ "access_token": "<token id>", "token_type": "bearer", "expires_in": 9, "scope": "polymatica", "user_name": "<login>", "authorities": { "cubes": [{ "name": "cube name 1", "uuid": "<cube id>", "dims": [{ "id": "some dimension 1", "name": "some dimension 1 name" }, { "id": "some dimension 2", "name": "some dimension 2 name" }, { "id": "some dimension 3", "name": "some dimension 3 name" }, ... ], "dims_restrictions": [], "facts": [], "creator": null, "available": false, "creation_time": 0 }, { "name": "cube name 2", "uuid": "<cube id>", "dims": [{ "id": "some dimension 1", "name": "some dimension 1 name" }, { "id": "some dimension 2", "name": "some dimension 2 name" }, { "id": "some dimension 3", "name": "some dimension 3 name" }, ... ], "dims_restrictions": [], "facts": [], "creator": null, "available": false, "creation_time": 0 } ... ] } }
Пустые значения dims, facts и dims_restrictions означают полную доступность всех размерностей и фактов.
Если необходимо указать доступ только на некоторые элементы размерности, то поле dims_restrictions заполняется следующим образом:
"dims_restrictions": [{ "id": "<dimension id>", "name": "<dimension name>", "elements": ["element 1", "element 2", ... ] }],
При этом вектор dims может быть пустым.