使用OAuth2保护nodejs / sailsjs API

时间:2014-04-11 07:00:06

标签: node.js oauth sails.js passport.js oauth2orize

我开发了一个带有sailsjs的REST API,我想添加OAuth2授权来保护这个API。我对OAuth很陌生,我不知道从哪里开始。

我找到了几个可用于此目的的模块,例如oauth2orize及其使用示例https://github.com/aaron524/sails-oauth2-provider-example但我不完全理解这是如何在内部工作的。

基本上,我会有几个客户正在使用我正在开发的API: - 我信任的客户以及我想要使用“资源所有者凭据授权”的客户 - 我不信任并将使用授权代码流连接的客户

我在考虑在sails应用程序中向Client模型添加可信属性,然后在用户登录应用程序时: - 他可以直接访问其资源(可信应用程序的情况) - 将要求他批准或拒绝该申请访问其资源(不受信任的申请案件)

这是一个好方法吗?有关如何根据客户端可信级别选择相应策略的任何指示?

更新

我在GitHub上设置了以下项目,使用了我发现的几个教程和项目。

https://github.com/lucj/sails-oauth2-api  

此项目尚未实施。

当用户通过应用程序使用API​​时,我仍然不清楚如何选择正确的授权类型(授权代码与资源所有者的密码)。如何将此检查整合到策略中?

我无法在OAuth endPoint(/ oauth / authorize,/ oauth / token)和对oauth2orize的调用之间创建链接。有什么想法吗?

1 个答案:

答案 0 :(得分:10)

我终于与Oauth2orize,帆和护照进行了斗争,并设法将API的OAuth2安全性集成到项目中:https://github.com/lucj/sails-oauth2-api