В документации к REST API Sylius указано, что его система авторизации oAuth поддерживает три типа предоставления.
php bin/console sylius:oauth-server:create-client \
--grant-type="password" \
--grant-type="refresh_token" \
--grant-type="token"
Тип предоставления password
позволяет вам получить токен из /api/oauth/v2/token
, используя имя пользователя и пароль администратора (при условии, что пользователь имеет роль ROLE_API_ACCESS
).
Когда вы получаете этот токен, он приходит с access_token
и refresh_token
.
{
"access_token":"ODE0NzA2NmU1NGVkNDc5ODNiNjcxZDBhZTA0NGY3MzY4NjBlMTc3ZDk0ZjM3MTIyOTlkMTQzMWU3YjM3ODc5ZQ",
"expires_in":3600,
"token_type":"bearer",
"scope":null,
"refresh_token":"NjNlNGY1YTQ5NmJhMzZiNzdlY2JmMzQyZDc5MGZkYTA5Mzg4MDc2MmRmZTRmOWE0MmMwNzU4NzBmMGM3YzVmZQ"
}
Когда срок действия вашего токена истекает, и если у вашего клиента тип предоставления refresh_token
, вы можете использовать конечную точку /api/oauth/v2/token
для получения нового токена с помощью параметра / аргумента refresh_token
.
Так что же такое token
тип гранта? Когда я думаю об этом, я застреваю на вопросе: «Как вы можете получить токен из /api/oauth/v2/token
, если у вас нет токена?» или «Если у вас уже был токен, срок действия которого не истек, зачем вам использовать token
для получения нового?»
Так чего мне не хватает? Для чего нужен тип предоставления токена?