Oauth2客户端+用户访问令牌流

时间:2015-05-18 15:07:21

标签: php oauth oauth-2.0

我正在使用Oauth2 php库。我按照文档herehere进行了操作 这就是我到目前为止所做的:

  • 客户端应用程序使用客户端ID&客户秘密 到client_credential端点
  • 将令牌返回给具有基本范围的客户端应用
  • 用户从客户端应用程序登录
  • 客户端应用程序使用用户ID&用户 user_credential端点的密码
  • 客户端应用程序使用新用户范围
  • 接收新令牌

一切正常。

对我来说唯一没有意义的是我必须再次传递客户端ID&执行用户授权时的客户端密钥(grant_type:'password')否则明智不起作用。

  

{“error”:“invalid_client”,“error_description”:“在标题或正文中找不到客户端凭据”}

我的理解是,由于我首先获得了客户端令牌,因此我不必再次识别客户端。我已经尝试传递令牌而不是客户端ID&用户身份验证的客户端密码但没有去。对于我正在尝试做的事情,什么是适当的授权类型组合?

1 个答案:

答案 0 :(得分:0)

(单个)客户端是public,即没有client_secret与之关联,或confidential,即它使用client_secret来标识自己。它不可能同时存在。您可以做的是将第二个客户端注册为不同的client_id作为公共客户端,因此不必使用client_secret向授权服务器标识自己。然后,您可以在所需流程的第二部分中使用您的(单个)客户端应用程序中的第二个client_id