8

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

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

基本上,我将有几个客户端使用我正在开发的 API: - 我信任的客户端,我想与“资源所有者凭据授权”一起使用 - 我不信任的客户端,将使用连接授权码流程

我正在考虑在sails应用程序中向客户端模型添加一个受信任的属性,然后当用户登录应用程序时: - 他将直接访问其资源(受信任应用程序的情况) - 他将被要求批准或拒绝应用程序访问他的资源(不受信任的应用程序的情况)

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

更新

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

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

这个项目还没有功能。

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

我没有设法在 OAuth 端点(/oauth/authorize、/oauth/token)和对 oauth2orize 的调用之间创建链接。任何想法 ?

4

1 回答 1

11

我终于在 Oauth2orize、sails 和 passport 中苦苦挣扎,并设法将我的 API 的 OAuth2 安全性集成到项目中:https ://github.com/lucj/sails-oauth2-api

于 2014-04-24T09:16:18.500 回答