陆小曼|OAuth2.0分布式系统环境搭建
介绍OAuth(开放授权)是一个开放标准 , 允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息 , 而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容 。 OAuth2.0的系统大致分由客户端 , 认证授权服务器以及资源服务器三部分组成 。 客户端如果想要访问资源服务器中的资源 , 就必须要持有认证授权服务器颁发的Token 。 认证流程如下图所示:
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()方法