Sylius/FriendsOfSymfony:什么是 "token" 授权类型?

Sylius/FriendsOfSymfony: What is a "token" Grant Type?

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 parameter/argument 获取新令牌.

那么什么是 token 资助类型?当我想到这一点时,我陷入了 "How could you fetch a token from /api/oauth/v2/token if you don't have a token in the first place?" 或 "If you already HAD a token that hadn't expired why would you need to use token to get a new one?"

那我错过了什么?什么是令牌授予类型?

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