我用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 的调用之间创建链接。任何想法 ?