我正在制作一个网络应用程序,我想在其中包含用户身份验证。到目前为止,我已经在我的应用中尝试了 firebase authentication
,但我仍然不清楚 authentication
的类型,哪个好用,哪个有什么好处。
我的要求:
API
和 Database
的全栈网络应用authentication
,就像用户使用 google 或电子邮件登录一样,都在 database
中链接和管理。到目前为止,我听说过以下方法:
Authentication
使用 Firebase
- 这对我来说很容易使用。它有客户端和服务器端 SDK,还可以选择生成令牌,我可以用它来限制对私有 API
的访问。我发现这不像我一样灵活,直到现在我还无法添加自定义逻辑,例如安全密码,自定义字段,自己编写代码,从控制台设置谷歌登录签名 OAuth 屏幕,这是更加增强的,等等。
我听说过更多 Auth 方式,例如 OpenID
Connect、OAuth 2.0
。我知道 OIC
是在 Oauth 2.0
之上制作的,它太灵活了,无法添加诸如令牌管理、JWT Security
、刷新令牌之类的东西,使用 KMS
之类的 {{1}以及更多。
另一方面,我也听说过 AWS
之类的东西,目前对我来说听起来像是客户端 passport.js
。
听说过像为所有这些创建完整的 framework
服务器或代理 authentication
服务器并将其添加到我们的集群的方法。
我正在寻找最好的方式,从中我可以学到最多并满足我的要求。想要使用一种没有限制、具有最佳安全特性、高度灵活的管理和跟踪、日志记录的方式。一种类似于大多数流行平台所使用的。
还有一件事,如果有人能帮助我理解客户端 nodejs
或此 framework
服务或示例之间的区别,那就太好了,因为我可能不清楚关键字或实际定义.
在谷歌上搜索并阅读了这么多答案后,我没有找到我需要的答案。任何对文章/帖子的引用也将起作用。如果有人提供简短的回答,将不胜感激。