Sylius / FriendsOfSymfony:什么是“令牌”授予类型?

时间:2019-05-30 20:01:07

标签: php symfony oauth-2.0 sylius

The documentation for Sylius's REST API表示其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_tokenrefresh_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来获得一个新令牌?”

那我想念什么?令牌授予类型是什么?

1 个答案:

答案 0 :(得分:1)

OAuth2提供了几种授权类型。 See them here。当您要求"token"时,我不确定sylius使用的是哪一个,但我假设使用授权码。

The most common OAuth 2.0 grant types are listed below.

   Authorization Code
   Implicit
   Password
   Client Credentials
   Device Code
   Refresh Token