花了一天半左右,将springSecurity后面的练习看完并且进行练习实践与测试! 按照惯例进行笔记的整理。
认证服务器的构建:
核心依赖:
注意,是oauth2而不是oauth。 因为这两个包maven都提供了它的依赖。 同时,需要依赖spring-security的环境。 在springboot环境下,可以采用spirng-boot-starter-security完成简单的上下文配置。
通过继承该类,以及通过注解,就可以完成默认的认证服务器的构建。 它是实现了标准的四种授权模式!
它的核心业务逻辑仍然是通过基于web的过滤器实现的。过滤器的几个重要的配置如:过滤器的定义,过滤器的注册,凭证提供者,凭证等,都由官方实现。在不需要我们自定义什么的情况下,可以在不动任何代码的情况下实现这些功能!(但是要做一些必要的属性配置)。
凭证服务器默认的过滤器的拦截器路径:
资源服务器的构建:
资源服务器其实就是上篇的第三方服务商类似的。
任然是由官方包提供支持。
它与上一个练习的第三方平台的区别在于,此处可以以令牌的方式存储自己的验证码,然后提供给第三方验证。
它的业务逻辑也是基于过滤器。。。 起点是过滤链条,终点是自身的凭证。
认证服务器与资源服务器的自我认识:
认证服务器仅提供认证服务。它的认证对象是针对第三方客户端。 认证依据是自身所配置的凭证。认证的方式包括:授权码模式authorization_code,简化模式,password; client_credentials;implict。 认证的结果是:提供令牌。
资源服务器既可以完成提供资源的服务。 又可以完成认证的逻辑!完成认证的逻辑与前面的练习很像。 只不过这里是将相应的验证码放在了外部存储中,而不是放在session中。 并且认证结果是提供给客户一个凭证令牌。 客户凭借凭证与资源服务器通信!
单点登陆的实现:
单点登陆,采用了jwt,json web token的方式。
关键一:授权服务器的令牌凭证:
关键二:客户端的配置:
最后:
确实很想把所有的练习过程与细节都记录一下。 但是发现这是一个很庞大的工程! 要花费的时间不禁让我望而却步。 反正上一篇已经记得差不多了,况且它们都是有关系的,以后忘了那就只好去再看看老师的视频了。