我可以将客户端登录用于 OAuth 授权代码流吗?

时间:2021-03-16 15:24:31

标签: oauth-2.0

我见过的所有 OAutht 授权代码流示例都将用户发送到 IDP 服务器(身份提供者服务器)提供的特定登录页面。

https://auth0.com/docs/flows/authorization-code-flow-with-proof-key-for-code-exchange-pkce

我想知道登录页面可以在客户端上吗,就像通过 APP 或 SPA 一样?或者这是我不知道的不安全的东西。谢谢

1 个答案:

答案 0 :(得分:1)

通常按照您所说的重定向是标准的,但安全性还取决于所使用的凭据:

  • 如果用户通过他们的 Google 密码登录,那么您的应用绝对不应看到凭据,您应该始终重定向
  • 如果用户通过存储在 X 公司的密码登录,只访问存储在 X 公司的数据,并且密码不用于任何其他目的,那么情况就不那么糟糕了,因为该公司拥有所有涉及的资产

避免重定向的人通常最终会使用已弃用的流程,例如 Resource Owner Password Grant。我会避免这种情况,因为它在安全审查中表现不佳,并且会限制您未来的身份验证选项。

为了安全起见,我建议坚持使用重定向模型,并使用身份管理系统供应商提供的登录方法。

未来方向

有趣的是,一些供应商出现了一种新趋势,那就是在有意义的情况下留在应用程序中。请参阅可能成为标准的 Hypermedia Authentication API。其一个关键特征是授权服务器继续管理安全性并告诉应用该做什么。

相关问题