我正在设计一个Web应用程序,主要分为以下两部分
>网站(UI):Node JS Express应用程序将作为www.mysite.com托管
> Rest API:业务逻辑(Atuhentiation,Authorization,业务逻辑),将作为一些不同的域托管,例如api.mysite.com
我想为此应用程序实现OAuth2.我通过OAuth2阅读并了解它的各种流程并根据我的理解,我得出结论“资源所有者密码凭据”流是一种方式,因为客户端和服务都属于我,用户也将直接注册我的应用程序,因此他们将提供用户名和密码.
我对“资源所有者密码凭据”流程进行了大量研究,但这种流程的讨论和记录却很少.关于ZERO我几乎不知道如何在我的应用程序中实现这个流程.我正在开发Node JS中的Website和Rest API.请指导我如何实现这个?任何演示,文档都会有所帮助.
提前致谢 !
最佳答案 你是对的.它的记录非常少,而且经常被错误地解释为错误.
对该流程的大多数解释都没有指出,该流程有两种不同的情况.
如果你有一个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
希望有所帮助,我目前正在努力解决同样的问题.