为了账号安全,请及时绑定邮箱和手机立即绑定

golang 中的单点登录身份验证

golang 中的单点登录身份验证

Go
MYYA 2022-01-10 16:23:52
我正在尝试构建一个多租户架构,golang其中会有不同的服务Service-A,Service-B每个服务将在不同的服务器上运行,我希望用户有一个single sign-in 解决方案并在提供的所有服务中获得身份验证。就像什么Amazon AWS or Google一样,它有许多不同的服务,如Amazon Cloud Front, Amazon EC2,Amazon S3并且所有服务都通过单个登录和注销从一个服务结果进行身份验证log out from all connected services。我正在尝试在 中实现这一点golang,到目前为止,我发现了Open-id Connect coreos/dex, 但它缺少解释其 API 和体系结构的文档。设计这种认证系统的最佳架构是什么?我认为使用JWT token我可以实现它。Is this architecture will be secure or there any better solution for this?我的方法                          -----------------                                  |               |    shared                          |               |   env file                          |SERVICES A     |---------------|                  AUTH HEADER    |               |               |           JWT TOKEN      |               |               |        |---------------> -----------------               |                         ---------            ------------------   shared      |    |       |            |    SERVICE B   |  env file     |                        |Login  | -----------|                |-----------    |                   |Browser|            |                |          |    |      ---------            ------------------          |    |        | |                                          |    |      Login| |"JWT_TOKEN RESPONSE"                      |    |           | |                                          |    |       --------------   enviroment file                ------------       |            |----------------------------------|          |    | Main Server|                                  |          |    |            |                                  |JWT_SECRET|        --------------                                  |="secret" |                                                              ------------
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

虽然您的解决方案肯定会奏效。它可能会使编写应用程序的浏览器/移动/通用前端部分变得更加复杂。而且可能更慢。

例如,您最终可能会在前端有效地连接数据。您向服务 A 发出一个请求,然后使用那里返回的信息向服务 B 发出其他请求。这对用户来说是一种糟糕的体验。

曾经是 Netflix 和 Soundcloud 等公司开创的新概念,是前端模式后端。它是每种类型的前端设备的服务器端适配器,可以处理身份验证并将连接聚合到下游服务。


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信