如果应用和api是第一方,那么使用资源所有者密码凭据流的弊端是什么?

时间:2018-07-23 15:33:13

标签: oauth-2.0

我才刚刚开始学习Identity Server,OAuth 2和OpenId Connect。在这样做的同时,我花了一些时间查看不同的OAuth流及其应用程序。我了解当客户端为第三方或不受信任时使用资源所有者密码凭证流的风险。但是,当客户端(移动应用程序)和api被信任为第一方时,我还无法真正找到其用途。在这种情况下使用此流程有哪些潜在风险?如果您可以指出特定的安全漏洞,那将非常有帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您恰好在谈论以下内容...

  1. 您自己的移动应用程序(使用受信任的库)
  2. 收集用户凭证(假设他们有您的网站登录名,就好像他们正在登录您的网站一样)
  3. 通过TLS将它们发送到您的Auth服务器
  4. 返回正常的令牌响应(如果正确)

那么我认为没有安全损失,至少,这不比首先使用用户名/密码身份验证更糟。


但是,这种性质的移动身份验证存在着更广泛的问题。

没有办法说出是您的应用发送了请求,这适用于所有OAuth2流(即使您使用更安全的流,用户也可以简单地拉开移动应用并提取凭据)。

Google和Apple都有一些功能试图解决此问题,但是我不确定它们目前是否成熟或安全,可能值得研究。

因此,您不依赖用户来诱骗安装假冒应用程序,但是,这是在社会工程学范围内进行的,并且确实适用于所有OAuth 2流。