Встроенный сервис Token¶
Сервис token предназначен для выдачи токена пользователю, прошедшему аутентификацию, для его дальнейшего использования в сервисах, осуществляющих аутентификацию по токену.
Доступен по адресу <адрес сервера>/rest/token
.
Сервис не требует регистрации в deploy.json. Сервис обеспечивает выдачу токена для авторизованного пользователя,
если он имеет права use
для ресурса ws:::gen-ws-token
или имеет права администратора.
В ответ на запрос, возвращается токен вида e444c69894d2087696e0a6c6914788f67ebcf6ee
. Время жизни токена по умолчанию 100 лет.
Пример запроса через аутентификацию типа Basic Auth
curl -u demo@local:ion-demo https://dnt.iondv.com/rest/token
Пример запроса с аутентификацией через параметры в заголовке
curl -H "auth-user: demo@local" -H "auth-pwd: ion-demo" -H "auth-user-type: local" https://dnt.iondv.com/rest/token
Примеры запросов к сервису token в dnt: test/modules/rest/token.spec.js
/Checking token service/# basicAuth authorization with admin rights
/Checking token service/# authorization with admin rights using header parameters
Права на ресурс¶
Добавить ресурс возможности генерации токенов для роли можно из комадной строки node bin/acl.js --role restGrp --p USE --res ws:::gen-ws-token
(где restGrp - название существующей группы)
Второй способ добавления прав на ресурс - использование консоли администратора модуля ionadmin, например, по адресу locahost:8888/ionadmin/
:
- Выберите пункт навигации “Безопасность”,
- Выберите подпункт навигации “Роли”
- Выберите существующую роль и нажмите кнопку “редактировать” или “создать новую роль”.
- В поле “Права доступа” роли выберите вкладку “Services”
- Раскройте список прав для ресурса “Генерация токенов безопасности посредством веб-сервисов (ws:::gen-ws-token)”
- Выбрать пункт “Использование” и нажмите кнопку “Сохранить”