【发布时间】:2020-09-29 03:58:49
【问题描述】:
我正在重新安装 OAuth 文档并了解 https://auth0.com/docs/flows/authorization-code-flow-with-proof-key-for-code-exchange-pkce 比授权代码流更好,因为它不太可能获取客户端代码并将其交换为 access_token
我还看到互联网上的某些情况下,客户端机密从 facebook 或 twitter 等大型移动应用程序中被逆转
所以对我来说,仍然不清楚如何正确实施客户身份 例如如果我使用资源所有者授权类型,我的应用程序中存储了客户端 ID 和客户端密码,这可以进行逆向工程,任何人都可以构建与我相同的应用程序
如果我使用 Authorization Code Flow with Proof Key for Code Exchange,我的应用程序中仍然没有任何秘密。因此,这意味着任何开发人员都可以构建自己的应用程序,作为我的应用程序的镜像。
那么问题是是否有任何方法可以为移动应用程序和纯 JS(浏览器)客户端正确实现客户端身份?
更新 有 2 个不错的选择 1 - 使用重定向网址 2 - 设置 CORS
1 但是我认为如果我尝试用后端代码模仿行为将无济于事。例如。我真的不需要访问网站就可以看到它在某些时候会在标头中提供重定向,我只是收到消息并拥有此授权码 2 对于我的镜像站点,CORS 也是如此,我将从后端获取令牌,服务器将无法识别客户端不是原始客户端并且有权使用此客户端
【问题讨论】:
标签: oauth-2.0 oauth identityserver4 identityserver3