amazon-web-services - 使用什么 AWS 服务作为 OAUTH2 与微服务一起使用
问题描述
我一直在做一些关于使用一些 AWS 服务作为 OAUTH2 的研究,以便我们在 3 个 docker 容器(后端、前端、数据库)中运行的应用程序。后端有一个显然不向公众开放的 API,只能在 docker 网络中访问。我们正在寻找使用聊天服务扩展我们的应用程序,我们希望将其实现为服务,因此我们按照微服务架构构建我们的应用程序,因为稍后我们将添加其他服务。因此,当用户登录我们的应用程序时,他的会话也将与聊天服务“共享”。
我们的聊天服务将使用套接字,由于套接字需要直接连接到用户资源,我们不能只实现一个集成层来提供聊天服务所需的所有资源,但我们必须:
在我们的应用程序 API 中实现套接字(我们不想这样做,我们希望它作为微服务),
开放 API 端点供聊天服务使用,但此选项需要 OAUTH2,这就是我们尝试处理的内容。
我不确定是否有其他方法来处理这个问题并为长期运行做好准备,但如果这可行,那么哪种 AWS 服务最适合我们使用,它将扮演 OAUTH2 角色来处理这件事的安全性?
我也检查了这篇文章,但在我的情况下它对我没有多大帮助。我愿意接受任何建议,我已经检查过 AWS lambda、AWS cognito、AWS amplify,非常令人困惑,有很多功能,我们不想用我们不需要的功能使架构过载。
解决方案
你想要的究竟是什么?由 AWS 管理的用户账户?使用认知。
用户使用 Apple、Facebook 等登录?再次使用认知。
只要有一些后端代码,一旦用户登录,创建一个令牌或会话,以便他们可以与之聊天。
AWS cognito 上有很多 youtube 视频,但其中很多都很烂。最好的一个是用 React 编写的,但在它们出现钩子之前。这是第一部分。https://www.youtube.com/watch?v=EaDMG4amEfk