参考教程:https://my.oschina.net/wotrd/blog/3056409
本示例实现最简配置下的实现单点,排除其他干扰
项目结构

一、认证服务端sso-server
创建springcloud项目
1.导入关键的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>
完整依赖pom见:pom.xml
2.配置认证服务
创建AuthConfig,继承AuthorizationServerConfigurerAdapter
redirectUris的配置,要和外部请求的重定向地址一致,不然出错
// 开启认证服务
@Configuration
@EnableAuthorizationServer
public class AuthConfig extends AuthorizationServerConfigurerAdapter {
/**
* 配置密码加密, springboot2.x需要配置
* @return
*/
@Bean
public BCryptPasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory()
.withClient("client") //客户端client_id
.secret(passwordEncoder().encode("secret")) // 客户端 secret
.authorizedGrantTypes("authorization_code") // 授权类型, 授权码
.scopes("app") // 范围
.redirectUris("https://www.hao123.com/"); // 重定向地址 登录地址
}
/**
* 放开token和checkToken 拦截
* @param oauthServer
*/
@Override
public void configure(AuthorizationServerSecurityConfig

本文详细介绍了如何使用Spring Cloud OAuth2搭建认证服务端,并配置两个客户端实现单点登录。通过创建授权服务器、配置认证服务、设置Web安全配置,以及客户端的配置,展示了SSO的基本流程。测试过程包括登录、授权、获取token及校验token。此外,还提到了重定向地址、资源服务器配置以及不同客户端的配置要点。
最低0.47元/天 解锁文章
5734

被折叠的 条评论
为什么被折叠?



