Обратите внимание!
Не используйте этот механизм – он поддерживается для совместимости с предыдущими версиями.
Авторизация пользователей по 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 может быть пустым.