4

RFC 6749 的 4.3.2(描述了 oauth2 授权框架的“资源所有者密码凭证授予流程”)指出:

如果客户端类型是机密的或客户端已获得客户端
凭据(或分配了其他身份验证要求),则
客户端必须向授权服务器进行身份验证,如
第 3.2.1 节所述。

似乎找不到关于“机密客户”是什么的参考。由此看来,允许非机密客户参与“资源所有者密码凭据授予流程”(4.3)。即不会(也不能)向授权服务器验证自己的客户端。

它是否正确?

4

2 回答 2

3

查看客户类型部分,其中“机密客户”的定义如下:

客户端能够维护其凭证的机密性(例如,客户端在安全服务器上实现,对客户端凭证的访问受到限制),或者能够使用其他方式保护客户端身份验证。

Cloudfoundry 的命令行cf 应用程序是使用密码授权的“公共”(即非机密)客户端的一个示例。

于 2013-10-24T13:52:46.350 回答
1

oauth2 规范的第 2.3 节有以下段落:

授权服务器可以与公共客户端建立客户端认证方法。但是,授权服务器不得依赖公共客户端身份验证来识别客户端。

公共客户在第 2.1 节中被定义为:

无法维护其凭证机密性的客户端(例如,在资源所有者使用的设备上执行的客户端,例如已安装的本机应用程序或基于 Web 浏览器的应用程序),并且无法通过任何其他方式进行安全客户端身份验证。

因此,您可以(可选地)对客户端进行身份验证,但不要认为客户端就是它所说的那个人。

于 2015-07-24T09:50:17.503 回答