Bla*_*man 3 authentication node.js oauth-2.0 passport.js
如果我有 5 个不同的 Web 应用程序,全部托管在不同服务器上各自的域中,我可以使用 Passport.js 创建单点登录,将用户重定向到登录所有 Web 属性的位置吗?
我是否必须为此创建自己的自定义策略,或者是否有一个可以用于此类场景的通用策略?
无论您是否只关心登录或如何确保您的网站、API 甚至您的移动应用程序的身份验证和授权...您都需要:OAUTH2
几乎所有最常用和现代的安全提供商都至少具有以下端点或功能:
Passport.js 依赖于 oauth2 提供商,这些提供商提供了规范端点,例如 google、facebook、auth0 等。查看完整列表:http://www.passportjs.org/packages/
因此 Passport.js 将帮助您使用所选的 oauth2 提供商管理 Web 身份验证流程。
最基本的 oauth2 流程可能是:
正如我所说,使用 sso 登录只是冰山一角。用户登录后,您将拥有一个可供使用的有效令牌(通常是 jwt),以便使用您的企业 REST API。此时就出现了这个问题:
由于 api 休息通常向互联网开放,因此任何拥有有效令牌的人都可以尝试通过您的 api 执行操作。同样,在隔离网络 (LAN) 中工作的 api 中,这个问题也是有效的。
无论您使用 API 网关还是任何 api 内部的直接逻辑,在最简单的情况下,您都必须在 OAUTH2 平台中需要以下功能:
| profile or role | app | option |
|-------------------------|---------------------|----------------|
| human-resources-admin | human-resources-api | /employee POST |
| human-resources-support | human-resources-api | /employee GET |
| user | profile or role |
|--------------|-------------------------|
| jane@web.com | human-resources-admin |
| jon@web.com | human-resources-support |
Run Code Online (Sandbox Code Playgroud)
网络流为我们提供了一个有效的令牌。因此,如果您的网络需要使用一些 api:
现代安全平台提供了很多功能,其中之一是 oauth2 协议(规范端点)。这些平台称为身份和访问管理(IAM)。让我们检查一下他们的一些描述:
这里有更多选项: https: //oauth.net/code/
开源
钥匙斗篷
奥里九头蛇
https://github.com/jrichardsz/oauth2-shield
商业的
测试所选的 oauth2 提供商是否满足您当前和未来的所有要求非常重要。
| 归档时间: |
|
| 查看次数: |
4482 次 |
| 最近记录: |