单点登录系统的一些说明(简称SSO)
在分布式系统中,我们会涉及登录多个子系统的需求。如果在每个子系统都实现了用户校验功能,会导致校验资源的混乱,维护成本高。所以我在做分布式系统时,需要将所有的子系统的登录校验,单独开发成一个统一认证系统,这个统一认证系统就是单点登录系统。
所谓的单点登录,就是在分布式项目中,将登录业务抽离到每个单独的系统实现,所有需要登录验证的系统都是通过该系统 完成校验,我们将这种统一校验的系统称为单点登录系统。但是要实现单点登录系统我们该怎么做呢?答:使用OAuth2。
OAuth2是一个第三方授权协议。因为OAuth2协议用于支持第三方授权,而单点登录业务就在第三方授权的范畴内,所以使用OAuth2协议可以完成单点登录。而OAuth2只是一个协议,并不能用于开发,这时我们就需要是要到OAuth2协议的实现:Spring Cloud OAuth2。它能满足OAuth2协议提出的各种需求,单点登录(第三方授权的范畴)、第三方授权、固定客户端授权。我们先来对Spring Cloud OAuth2的一个简单的了解,它是基于SpringSecurity的基础开发的一套分布式OAuth2认证机制的实现。
总结:实现单点登录系统,就必须学会Spring Cloud OAuth2的入门基础