使用节点js的OAuth2密码授予

时间:2016-11-23 07:11:43

标签: node.js oauth-2.0 oauth2

我正在设计一个Web应用程序,主要分为以下两部分

  1. 网站(UI):节点JS Express应用程序将作为www.mysite.com
  2. 托管
  3. Rest API:业务逻辑(Atuhentiation,Authorization,业务逻辑),将作为一些不同的域托管,例如api.mysite.com
  4. 我想为此应用实施 OAuth2 。我通过OAuth2阅读并了解了它的各种流程,并根据我的理解,我得出结论" 资源所有者密码凭证"流是一种方式,因为客户端和服务都属于我,用户也将直接注册我的应用程序,因此他们将提供用户名和密码。

    我研究了很多"资源所有者密码凭证"但这种流动的谈话和记录非常少。关于ZERO我几乎不知道如何在我的应用程序中实现这个流程。我正在开发Node JS中的Website和Rest API。 请指导我如何实现这一点?任何演示,文档都会有所帮助。

    提前致谢!

1 个答案:

答案 0 :(得分:1)

你是对的。它的记录非常少,而且经常被错误地解释为错误。 对该流程的大多数解释都没有指出,该流程有两种不同的情况。

如果你有一个SPA或类似的开放式应用程序,你不希望客户端ID和客户端秘密与ROPC流程。因为,每个人都可以阅读它。此外,RFC中不需要它。

你的情况是关于没有授权的双腿oauth。

这是一篇关于如何保护ROPC流程的非常好的文章: http://andyfiedler.com/2014/09/how-secure-is-the-oauth2-resource-owner-password-credential-flow-for-single-page-apps

希望有所帮助,我目前正在努力解决同样的问题。