3

我正在使用 node.js 开发一个应用程序,它也将有一个移动客户端。我希望使用 OAuth 2.0 进行身份验证。有什么好的模块可以让我拥有 OAuth 2.0 身份验证服务器吗?

我查看了 Passport 的一个子模块“OAuth2orize”。我发现它已经足够好了,但真正的问题是了解它将如何为我自己的应用程序工作(示例和文档指定了第三方授权)。

基本上我想要的是客户端使用客户端 ID、用户名、用户密码登录,然后我在验证上述三件事后给他一个令牌。但是 Oauth2orize 的问题在于有重定向 URI,这让我很困惑。

请帮助我了解如何使用 Oauth2rize 或任何其他非常好的模块来实现这一点。或者,如果它足够简单,我也可以自己动手,但这对安全性来说是个好主意吗?

4

1 回答 1

0

您正在寻找的是资源所有者密码凭证流程。如您所见,oauth2 的示例不包含支持此流程的功能。事实上,这些示例仅涵盖授权代码流程。

它最终应该很容易实现。您需要做的就是接受包含您正在查找的信息的请求(并对其进行授权),并在您的令牌数据库中创建一个令牌并返回它。只要您使用 oauth2orize 的其余部分正在使用的相同令牌数据库,它就可以正常工作。请参阅:使用 oAuth2orize 传递受信任的客户端信息以获取“资源所有者密码流程”,这正是建议的内容。

更正: oauth2orize 的所有授权示例支持隐式流程以及授权码流程。

于 2015-08-16T20:28:39.343 回答