繁体   English   中英

oAuth2资源所有者密码凭据授权流程中的客户端凭据是否可选?

[英]Are Client Credentials optional in the oAuth2 Resource Owner Password Credentials Grant flow?

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

如果客户端类型是机密或客户端是客户端发出的
凭证(或指定的其他身份验证要求),
客户端必须按照描述使用授权服务器进行身份验证
在第3.2.1节中。

似乎无法找到“机密客户”是什么的参考。 由此看来,允许非机密客户参与“资源所有者密码凭证授权流程”(4.3)。 即不会(也不能)使用授权服务器对自己进行身份验证的客户端。

它是否正确?

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM