本文主要是介绍我的架构梦:(四十三)SpringCloud核心组件之微服务统一认证方案Spring Cloud OAuth2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
欢迎大家关注我的公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。
一、微服务架构下统一认证思路
1、基于Session的认证方式
在分布式的环境下,基于session的认证会出现一个问题,每个应用服务都需要在session中存储用户身份信息,通过负载均衡将本地的请求分配到另一个应用服务需要将session信息带过去,否则 会重新认证。我们可以使用Session共享、Session黏贴等方案。
Session方案也有缺点,比如基于cookie,移动端不能有效使用等
2、基于token的认证方式
基于token的认证方式,服务端不用存储认证数据,易维护扩展性强, 客户端可以把token 存在任 意地方,并且可以实现web和app统一认证机制。其缺点也很明显,token由于自包含信息,因此 一般数据量较大,而且每次请求 都需要传递,因此比较占带宽。另外,token的签名验签操作也会给cpu带来额外的处理负担。
二、OAuth3开放授权协议/标准
1、OAuth2介绍
OAuth(开放授权)是一个开放协议/标准,允许用户授权第三方应用访问他们存储在另外的服务提供者 上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。
允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。
这篇关于我的架构梦:(四十三)SpringCloud核心组件之微服务统一认证方案Spring Cloud OAuth2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!