|
|||||||
Получение OAuth токена
Время создания: 29.11.2019 11:04
Раздел: INFO - Development - CUBA - REST
Запись: wwwlir/Tetra/master/base/1574996659j52bmsstm5/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
OAuth токен необходим для выполнения любого метода REST API (кроме случая анонимного доступа к REST API). Получить токен можно выполнив POST запрос по адресу http://localhost:8080/app/rest/v2/oauth/token Доступ к данному URL защищен с помощью базовой аутентификации с использованием идентификатора и пароля клиента REST API. Обратите внимание, что это не логин и пароль пользователя приложения. Идентификатор и пароль клиента REST API заданы в свойствах приложения cuba.rest.client.id и cuba.rest.client.secret (значения по умолчанию для этих свойств: client и secret). Заголовок Authorization запроса на получение токена должен содержать логин и пароль клиента, разделенные символом ":" и закодированные в base64. Тип запроса на получение токена должен быть application/x-www-form-urlencoded, кодировка UTF-8. Запрос должен содержать следующие параметры:
POST /oauth/token
Authorization: Basic Y2xpZW50OnNlY3JldA==
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=smith&password=qwerty123
Вы также можете использовать утилиту cURL: 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
Метод возвращает JSON объект: {
"access_token": "29bc6b45-83cd-4050-8c7a-2a8a60adf251",
"token_type": "bearer",
"refresh_token": "e765446f-d49e-4634-a6d3-2d0583a0e7ea",
"expires_in": 43198,
"scope": "rest-api"
}
Значение токена содержится в поле access_token Чтобы использовать токен, его нужно передать в заголовке запроса Authorization с типом Bearer, например: Authorization: Bearer 29bc6b45-83cd-4050-8c7a-2a8a60adf251
Свойство refresh_token содержит значение refresh токена. Он не может быть использован для доступа к защищённым ресурсам приложения, но он имеет большее время жизни по сравнению с access токеном и используется для получения нового access токена, когда старый токен истек. Запрос на получение нового access токена с помощью refresh токена должен содержать следующие параметры:
POST /oauth/token
Authorization: Basic Y2xpZW50OnNlY3JldA==
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&refresh_token=e765446f-d49e-4634-a6d3-2d0583a0e7ea
См. также следующие свойства приложения, имеющие отношение к токенам:
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|