为什么要做这个尝试?
微服之道,方兴未艾;农之来学者,盖已千者!
这句是从《陶山集·太学案问》瞎改出来的。意思就是微服务的架构理念还在不断地发展,现在整个啥都 言必出微服务,差点都到了 没学过微服务的码农不是一个好码农
。搞到微服务这个词都快跟区块链差不多臭了。
在将臭未臭之前,我们赶紧把其中的统一认证这块过一下。
在微服务的概念中,恨不得每一个API都起一个独立的微服务,所有一个系统有几十个,甚至成百上千个独立的微服务也不见怪。 而安全又是每一个服务都必须面对的问题!如果让每一个微服务都独立处理的话,那Martin Fowler估计早就被码农拉去祭天了。所以统一认证大势所趋,将安全有关的认证与授权集中到一个服务中进行处理,各个微服务只需简单校验即可,无需另起炉灶!
统一认证的开源实现有很多,目前比较出名的有Apereo CAS (发音为 /kæ’s/),Keycloak等,我们尽量都介绍到,今天先看一下Apereo CAS
什么是Apereo CAS
首先CAS是Central Authentication Service的首字母缩写,Apereo CAS 是由耶鲁大学实验室2002年出的一个开源的统一认证服务。
据官网介绍,Apereo CAS是一个开源的企业级单点登录系统,包括了如下特性: