陆小曼|OAuth2.0分布式系统环境搭建

介绍OAuth(开放授权)是一个开放标准 , 允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息 , 而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容 。 OAuth2.0的系统大致分由客户端 , 认证授权服务器以及资源服务器三部分组成 。 客户端如果想要访问资源服务器中的资源 , 就必须要持有认证授权服务器颁发的Token 。 认证流程如下图所示:
数据库要完成这套系统 , 需要准备好用到的一些数据表 。
注册中心微服务项目得先有个注册中心吧 , 我们选用Eureka 。 先搭建一个父工程OAuth2Demo , 然后在父工程中创建一个Module叫oauth2_eureka 。 然后添加配置文件及启动类即可 。 所需要的依赖我就不在这里贴了 , 太占篇幅了 。 有需要的小伙伴直接去我源码中拷就行了 。
spring:application:name:eurekaserver:port:8000#启动端口…………@SpringBootApplication@EnableEurekaServerpublicclassEurekaApplication{publicstaticvoidmain(String[]args){SpringApplication.run(EurekaApplication.class,args);}}这样注册中心就搭建好了 。
认证授权服务服务搭建在OAuth2Demo中创建一个Module叫oauth2_uaa作为认证服务 。 添加启动类和配置文件 。
spring.application.name=uaaserver.port=8001eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/…………@SpringBootApplication@EnableEurekaClient@MapperScan("com.robod.uaa.mapper")publicclassUaaApplication{publicstaticvoidmain(String[]args){SpringApplication.run(UaaApplication.class,args);}}配置回顾上一篇SpringSecurity的文章中提到的几点内容
用户来源的Service实现UserDetailsService接口 , 实现loadUserByUsername()方法 , 从数据库中获取数据SpringSecurity的配置类继承自WebSecurityConfigurerAdapter , 重写里面的两个configure()方法