Мы используем грант username-password для получения токена доступа с нашего сервера auth. Мы хотим обновить токен доступа до истечения срока его действия, используя предоставленный токен обновления, пока пользователь не выйдет из системы или не закрывает клиентское приложение.
Однако я просто не могу найти примеры того, как выдать этот запрос токена обновления.
Чтобы получить токен, мы вызываем что-то вроде:
curl -v --data "grant_type=password&username=user&password=pass&client_id=my_client" http://localhost:8080/oauth/token
Итак, чтобы обновиться, я ожидал, что вызов будет выглядеть следующим образом:
curl -v --data "grant_type=refresh_token&access_token=THE_ACCESS_TOKEN&refresh_token=THE_REFRESH_TOKEN" http://localhost:8080/oauth/token
или, возможно,
curl -v -H "Authorization: Bearer THE_ACCESS_TOKEN" --data "grant_type=refresh_token&refresh_token=THE_REFRESH_TOKEN" http://localhost:8080/oauth/token
Но он просто даст мне 401.
О да, может, мне нужно добавить clientId? Я не могу использовать секрет клиента, потому что его нет (см. Выше запрос на получение токена). Аутентификация выполняется с использованием имени пользователя и пароля в конце концов..
Я думаю, что мы правильно настроили сервер, поэтому я не буду публиковать его здесь. Если один из моих примерных запросов должен работать, и вам нужно увидеть важные части конфигурации, я их добавлю.
Спасибо!