RFC 6749 的 4.3.2(描述了 oauth2 授权框架的“资源所有者密码凭证授予流程”)指出:
如果客户端类型是机密的或客户端已获得客户端
凭据(或分配了其他身份验证要求),则
客户端必须向授权服务器进行身份验证,如
第 3.2.1 节所述。
似乎找不到关于“机密客户”是什么的参考。由此看来,允许非机密客户参与“资源所有者密码凭据授予流程”(4.3)。即不会(也不能)向授权服务器验证自己的客户端。
它是否正确?
RFC 6749 的 4.3.2(描述了 oauth2 授权框架的“资源所有者密码凭证授予流程”)指出:
如果客户端类型是机密的或客户端已获得客户端
凭据(或分配了其他身份验证要求),则
客户端必须向授权服务器进行身份验证,如
第 3.2.1 节所述。
似乎找不到关于“机密客户”是什么的参考。由此看来,允许非机密客户参与“资源所有者密码凭据授予流程”(4.3)。即不会(也不能)向授权服务器验证自己的客户端。
它是否正确?
oauth2 规范的第 2.3 节有以下段落:
授权服务器可以与公共客户端建立客户端认证方法。但是,授权服务器不得依赖公共客户端身份验证来识别客户端。
公共客户在第 2.1 节中被定义为:
无法维护其凭证机密性的客户端(例如,在资源所有者使用的设备上执行的客户端,例如已安装的本机应用程序或基于 Web 浏览器的应用程序),并且无法通过任何其他方式进行安全客户端身份验证。
因此,您可以(可选地)对客户端进行身份验证,但不要认为客户端就是它所说的那个人。