我正在开发一个应用程序使用node.js,这也将有一个移动客户端。我希望使用OAuth 2.0进行身份验证。有没有好的模块可以让我拥有OAuth 2.0认证服务器?
我查看了Passport "OAuth2orize“的一个附属模块。我发现它已经足够好了,但真正的问题是理解它如何在我自己的应用程序上工作(示例和文档中指定了关于第三方授权的内容)。
基本上我想要的是,客户端登录与客户端id,用户的用户名,用户的密码,在那里我给他一个令牌后,验证了上述三件事。但是Oauth2orize的问题是有重定向、URI等等,这让我很困惑。
请帮助我知道如何使用Oauth2rize或任何其他真正好的模块来实现这一点。或者,如果它足够简单,我也可以推出自己的,但这对于安全性来说是一个好主意吗?
发布于 2015-08-17 04:28:39
您正在寻找的是Resource Owner Password Credentials流。正如您所看到的,oauth2的示例不包括支持此流程的功能。实际上,这些示例只涵盖了Authorization Code流。
它最终应该是相当容易实现的。您所需要做的就是接受一个包含您正在查找的信息的请求(并对其进行授权),然后在令牌数据库中创建一个令牌并返回它。只要您使用与oauth2orize其余部分相同的令牌数据库,它就应该可以正常工作。请看:Passing Trusted Client Information with oAuth2orize for the "Resource Owner Password Flow",这正是我们所建议的。
更正: oauth2orize的全授权示例支持隐式流和授权码流。
https://stackoverflow.com/questions/17290104
复制相似问题