相关阅读:

厉害了Word哥!阿里巴巴73款开源产品最全总结全景图

Borsos指出,单点登录(SSO)方案可能看起来是一个好主意,但这意味着每个面向用户的服务都必须与认证服务交互,这会产生大量非常琐碎的网络流量,同时这个方案实现起来也相当复杂 。 在其他方面,选择SSO方案安全性会很好,用户登录状态是不透明的,可防止攻击者从状态中推断任何有用的信息。

分布式会话方案,原理主要是将关于用户认证的信息存储在共享存储中,且通常由用户会话作为key来实现的简单分布式哈希映射。 当用户访问微服务时,用户数据可以从共享存储中获取。 该解决方案的另一个优点是用户登录状态是不透明的。 当使用分布式数据库时,它也是一个高度可用且可扩展的解决方案。 这种方案的缺点在于共享存储需要一定保护机制,因此需要通过安全链接来访问,这时解决方案的实现就通常具有相当高的复杂性了。

客户端令牌方案, 此令牌在客户端生成,由身份验证服务进行签名,并且必须包含足够的信息,以便可以在所有微服务中建立用户身份。 令牌会附加到每个请求上,为微服务提供用户身份验证。 这种解决方案的安全性相对较好,但身份验证注销是一个大问题, 缓解这种情况的方法可以使用短期令牌和频繁检查认证服务等。 对于客户端令牌的编码方案,Borsos更喜欢使用JSON Web Tokens(JWT),它足够简单且库支持程度也比较好。

客户端令牌与API网关结合,这个方案意味着所有请求都通过网关,从而有效地隐藏了微服务。 在请求时,网关将原始用户令牌转换为内部会话ID令牌。 在这种情况下,注销就不是问题,因为网关可以在注销时撤销用户的令牌。 这种方案虽然库支持程度比较好,但实现起来还是可能很复杂。

Borsos建议使用客户端令牌(使用JWT)和API网关结合的方案,因为这个方案通常使用起来比较容易,且性能也不错。 SSO方案虽然能满足需求,但他认为还是应该避免使用。若分布式会话方案所需要的相关技术已经应用在你的场景上,那么这个方案也是比较有趣的。他同时强调在选择解决方案时应着重考虑注销的重要性。

-END-

欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。

本公众号覆盖中国主要首席架构师、高级架构师、CTO、技术总监、技术负责人等人 群。分享最有价值的架构思想和内容。打造中国互联网圈最有价值的架构师圈子。

  • 长按下方的二维码可以快速关注我们

  • 如想加群讨论学习,请点击右下角的“加群学习”菜单入群

如何解决微服务架构中的身份验证问题?相关推荐

  1. PPT分享:基于事件解决微服务架构中分布式数据问题

    简介 本文主要介绍世界级软件架构师 Chris Richardson在2021年最新分享的PPT.PPT分享的标题是<Events to the rescue: solving distribu ...

  2. 如何解决微服务架构中的雪崩问题?

    记得在三年前公司因为业务发展需要,就曾经将单体应用迁移到分布式框架上来.当时就遇到了这样一个问题:系统仅有一个控制单元,它会调用多个运算单元,如果某个运算单元(作为服务提供者)不可用,将导致控制单元( ...

  3. 使用nhmicro提供的micro-datasource嵌入式的解决微服务架构中分布式事务问题

    2019独角兽企业重金招聘Python工程师标准>>> 应用原理: 使用micro-datasource数据源使事务与线程解耦,通过groupid在其他线程进行事务提交或回滚. 多个 ...

  4. PPT分享:基于Eventuate平台解决微服务架构难题

    简介 本文主要介绍世界级软件架构师 Chris Richardson在2021年最新分享的PPT.PPT分享的标题是<Overview of the Eventuate Platform> ...

  5. 网站如何经过身份验证_如何在微服务架构中实现安全性?

    首先为自己打个广告,我目前在某互联网公司做架构师,已经有5年经验,每天都会写架构师系列的文章,感兴趣的朋友可以关注我和我一起探讨,同时需要架构师资料的可以私信我免费送 作者 | Chris Richa ...

  6. 微服务架构中的雪崩问题产生原因及解决办法

    微服务架构中的雪崩问题产生原因及解决办法 参考文章: (1)微服务架构中的雪崩问题产生原因及解决办法 (2)https://www.cnblogs.com/panchanggui/p/10330924 ...

  7. 如何在微服务架构中实现安全性?

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者 | Chris Richardson 网络安全已成为每个企业都面临的关键问题.几乎每天都有 ...

  8. nuget的原理_微服务架构中APIGateway原理

    背景 我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest ...

  9. Spring Cloud与微服务学习总结(5)——认证鉴权与API权限控制在微服务架构中的设计与实现(三)

    本文转载自( http://blueskykong.com/2017/10/24/security3/) 1. 前文回顾 在开始讲解这一篇文章之前,先对之前两篇文章进行回忆下.在第一篇 认证鉴权与AP ...

  10. 《微服务架构设计模式》读书笔记 | 第9章 微服务架构中的测试策略(上)

    第9章 微服务架构中的测试策略(上) 前言 1. 微服务架构中的测试策略概述 1.1 编写自动化测试 1.2 使用模拟和桩进行测试 1.3 使用范围对测试进行分类 1.4 使用测试象限对测试进行分类 ...

最新文章

  1. 如何用Python做Web开发?——Django环境配置
  2. android 关于页面,解析android中的帮助、about、关于作者、HELP等提示页面
  3. 解决前端页面闪烁问题(转载)
  4. solr中的ik分词器的原理是什么
  5. 2019 湖南多校第五场题解
  6. SpringCloud 搭建项目环境、创建 Dept 微服务、客户端调用微服务
  7. Java笔记-字符串编码与解码以及编码表原理
  8. c combobox绑定mysql数据库_C# ComboBox:组合框控件数据绑定
  9. PHP中的数组建必须为数字吗,PHP检查数组中缺少的数字
  10. HDU5904 LCIS【LCIS】
  11. 802.1W RSTP
  12. Codeforces - 570D 离散DFS序 特殊的子树统计 (暴力出奇迹)
  13. java基于springboot校园音乐点歌网站平台ssm
  14. 2021-02-06-身高与车架大小
  15. 【愚公系列】2023年01月 .NET CORE工具案例-基于SqlSugar的多库多表融合查询
  16. 专家有料 | 张祖优:腾讯云DevSecOps实践与开源治理探索
  17. excel制作跨职能流程图_如何绘制泳道图(跨职能流程图)
  18. 【时间函数】gettimeofday
  19. Window脚本学习笔记之定时关闭进程
  20. 华盛顿大学计算机科学,华盛顿大学计算机科学与信息系统Computer Science and Information Systems世界排名2020年最新排名第18位(QS世界排名)...

热门文章

  1. Selecting Foreground or Background Colors
  2. 《Linux内核设计与实现》学习笔记之“Linux进程管理机制”
  3. super-smack
  4. 开发OA产品的部分网站
  5. NDoc使用简要手册增加了例子代码
  6. fcpx教程,如何在 final cut pro 中导出视频的图文?
  7. 苹果Mac微软office办公套件:Microsoft 365
  8. 如何在 Mac 上创建自动填充的智能文件夹?
  9. iOS开发之openURL:(打电话,打开网页等)
  10. Dr.Cleaner pro for mac(系统清理和优化软件)