【问题标题】:Sylius/FriendsOfSymfony: What is a "token" Grant Type?Sylius/FriendsOfSymfony:什么是“令牌”授予类型?
【发布时间】:2019-05-30 20:01:06
【问题描述】:

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_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 来获取一个新令牌?”

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

【问题讨论】:

    标签: php symfony oauth-2.0 sylius


    【解决方案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
    

    【讨论】:

    猜你喜欢
    • 2020-09-08
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 2021-11-14
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    相关资源
    最近更新 更多