前序
最近想搞下基于Spring Cloud的认证授权平台,总体想法是可以对服务间授权,想做一个基于Agent 的无侵入的方式。
因为新版本的Spring Cloud Security 、 OAuth2.0 貌似改了些东西,说上网随便翻翻,但发现没有针对Spring Security OAuth2.0认证授权系统性的文章。
遂结合一些资料和自己的一些梳理,来搞一个认证授权系列,就当是一个总结了。
其实前面我也搞了几个关于认证授权的文章,但总感觉太零碎了,不成体系,没搞过 Security 、OAuth2.0、JWT的人会一脸懵逼。
这次准备再从头梳理下这方面的只是,逐步递进。尽量不搞长篇大论,看的脑阔疼,争取一篇一个点的推进。
话不多说,饭要一口口吃,基础的东西其实也很重要,那就从头来说吧。
基础概念
1、认证的概念
在这个移动时代,我们每天都在各种APP间切换着,比如抖音、淘宝、微信等,比如我们拿抖音来举例说明认证的一些基础概念。
比如我们在使用抖音前都需要进行注册吧,然后在输入用户名和密码(或验证码)来登录账号。
这里登陆的过程就是 认证
那为什么要认证?
认证,其实就是为了保护系统的资源,只有用户身份合法才可以访问资源。
认证 :用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信
息,身份合法方可继续访问,不合法则拒绝访问。
常见的用户身份认证方式有:
- 用户名密码登录
- 二维码登录
- 手机短信登录
- 指纹认证
- 人脸识别
2、会话的概念
大家想想,如果我使用微信每点一个按钮都要我进行一次认证,那我岂不是要疯了。所以为了避免这种问题,在用户认证完成后可将用户信息保存在会话中。
会话其实就是系统保留了当前用户登录状态所提供的一种机制。
常见的会话方式:
- 基于session