OAUTH客户端机密安全、localhost重定向URI和模拟



在过去的几年里,我一直在使用OAUTH 2做一些工作。我有几个授权服务器和几个使用它们的客户端。

任何制作过使用OAUTH2的应用程序或某些客户端解决方案的人都知道客户端机密可能是个问题。可以通过使用访问代码授权在一定程度上减轻这种情况。有人说要用代理人来代理这个秘密。

我的问题是重定向URI——这是为了保护访问代码授予过程。Auth服务器将只向文件(在该客户端ID的数据库中)中的重定向返回访问代码。这个问题与移动应用程序有关。它们通常取决于https://127.0.0.1或https://localhost用于重定向URI。任何人都可以获得localhost令牌,对吧?

在这种情况下,是什么阻止某人使用localhost重定向URI模拟客户端ID?我是否可以不制作一个复制猫应用程序,使用真实的客户端ID使用相同的OAUTH2登录流,如果我能够让用户登录,我现在有了一个OAUTH令牌来访问资源服务器。我错了吗?

如果有人能对此有更多的了解,我将不胜感激。我想尽可能多地学习,任何事情都有帮助。

您所描述的攻击是对本机移动应用程序使用授权码授权时的已知弱点。OAuth 2.0扩展名为";用于代码交换的证明密钥";已经开发出通过使用";代码验证器";其是动态生成的并且仅由真实客户端知道。

这项工作在IETF中被标准化为一个名为"OAuth公共客户端代码交换证明密钥"的RFC,可在以下网址获得:https://www.rfc-editor.org/rfc/rfc7636

最新更新