【问题标题】:{"error":"invalid_client","error_description":"The client credentials are invalid"} in fosoauth bundlefosoauth 包中的 {"error":"invalid_client","error_description":"客户端凭据无效"}
【发布时间】:2013-11-16 02:54:23
【问题描述】:

我尝试使用 FOSOAuthServerBundle 来验证用户各自的访问令牌。

我按照链接进行了所有设置:http://blog.tankist.de/blog/2013/07/17/oauth2-explained-part-2-setting-up-oauth2-with-symfony2-using-fosoauthserverbundle/

作为输出,我收到了客户端 ID 和客户端密钥,但我对 grant_type 感到困惑。它持有什么值??

在浏览器中运行时:http://external.apostle.digibiz.com/web/app_dev.php/oauth/v2/token?client_id=1k1x8xpqbjnogs88cso0gwwk4848oocsscsgwcwowcck4840s8&client_secret=3ntf3p6h6c6c04g4o08ggkgcwc0co0sk804gwckow88g0ggck0&grant_type=client_credentials

以下是错误: {"error":"invalid_client","error_description":"客户端凭据无效"}

我该如何解决这个错误????

【问题讨论】:

    标签: symfony oauth


    【解决方案1】:

    您可以在OAuth2 类中的oauth2 repo 找到支持的授权类型列表。他们是:

    /**
    * Grant types support by draft 20
    */
    const GRANT_TYPE_AUTH_CODE          = 'authorization_code';
    const GRANT_TYPE_IMPLICIT           = 'token';
    const GRANT_TYPE_USER_CREDENTIALS   = 'password';
    const GRANT_TYPE_CLIENT_CREDENTIALS = 'client_credentials';
    const GRANT_TYPE_REFRESH_TOKEN      = 'refresh_token';
    const GRANT_TYPE_EXTENSIONS         = 'extensions';
    

    授权类型指定如何在应用程序中验证客户端。详细解释可以在OAuth2 spec 中找到,但它散布在文档中。根据我对OAuth2 Server bundle的了解,每种资助类型的确切含义:

    • authorization_code - 客户端由先前从服务器获得的code 参数识别和验证
    • password - 客户端通过用户凭据进行身份验证:用户和密码
    • client_credentials - 客户端通过它自己的凭据(您在创建客户端期间提供的凭据)进行身份验证
    • implicit - 一步认证。除非您知道自己在做什么,否则不推荐
    • refresh_token - 客户端通过原始身份验证中提供的刷新令牌进行身份验证。之前发布的 OAuth 令牌失效
    • extensions - ???

    您可以为每个客户提供超过 1 个grant_type。另外我推荐你阅读很棒的文章OAuth2 Simplified

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-25
      • 1970-01-01
      • 2023-03-25
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 2020-04-20
      相关资源
      最近更新 更多