REST API - Получение OAuth токена: invalid_grant

Прошу подсказать, в чем проблема с получением OAuth токена при создании нового проекта (без кастомизации), с использованием супер-пользователя по умолчанию.

  1. В IDEA 2019.2 устанавливаю плагин CUBA

  2. Создаю новый проект CUBA 7.2.1

  3. Устанавливаю add-on REST API

  4. Запускаю приложение
    Starting the server…
    Server started at http://localhost:8080/app

  5. Получение OAuth токена
    curl -H “Content-type: application/x-www-form-urlencoded” -H “Authorization: Basic Y2xpZW50OnNlY3JldA==” -d “grant_type=password&username=admin&password=admin” http://localhost:8080/app/rest/v2/oauth/token

    {“error”:“invalid_grant”,“error_description”:“User is not allowed to use the REST API”}

Если создать проект из этого Git репозитория, там получение OAuth токена работает как описано в документации.

Здравствуйте @Sauran

Вам необходимо создать роль с правами на REST API и добавить её пользователю для которого вы получаете OAuth токен.

image

На экране редактирования роли выберите Security scope -> REST и разрешите для данной роли использование REST API (Use REST API), так же по необходимости на вкладках Entities и Attributes настройти права для сущностей и атрибутов.

Документация: https://doc.cuba-platform.com/manual-7.2-ru/roles.html#security_scope - Области действия

С Уважением,
Никита

1 симпатия

Спасибо вам за оперативный ответ!

Полагаю, в документации, в пункте Использование REST API необходимо упомянуть о " Security scope -> REST" или дать ссылку на пункт Области действия (security scopes), тогда все встало бы на свои места :slightly_smiling_face:

Спасибо за предложение, тикет на документацию есть: https://github.com/cuba-platform/restapi-docs/issues/10
Скоро обновим мануал.