Встроенный сервис 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)»
- Выбрать пункт «Использование» и нажмите кнопку «Сохранить»