Spring Cloud入门-Oauth2授权之JWT集成(Hoxton版本)

可以在该网站上获得解析结果:https://jwt.io/

在这里插入图片描述

创建oauth2-jwt-server模块


该模块只是对oauth2-server模块的扩展,直接复制过来扩展下下即可。

oauth2中存储令牌的方式


在上一节中我们都是把令牌存储在内存中的,这样如果部署多个服务,就会导致无法使用令牌的问题。 Spring Cloud Security中有两种存储令牌的方式可用于解决该问题,一种是使用Redis来存储,另一种是使用JWT来存储。

使用Redis存储令牌

在pom.xml中添加Redis相关依赖:

org.springframework.boot

spring-boot-starter-data-redis

org.springframework.boot

spring-boot-starter-web

org.springframework.cloud

spring-cloud-starter-oauth2

org.springframework.cloud

spring-cloud-starter-security

在application.yml中添加redis相关配置:

server:

port: 9401

spring:

application:

name: oauth2-jwt-server

redis:

redis相关配置

host: 10.172.0.201

database: 0

添加在Redis中存储令牌的配置:

@Configuration

public class RedisTokenStoreConfig {

@Autowired

private RedisConnectionFactory redisConnectionFactory;

@Bean

public TokenStore redisTokenStore() {

return new RedisTokenStore(redisConnectionFactory);

}

}

在授权服务器配置中指定令牌的存储策略为Redis:

@Configuration

@EnableAuthorizationServer

public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {

@Autowired

private PasswordEncoder passwordEncoder;

@Autowired

private AuthenticationManager authenticationManager;

@Autowired

private UserService userService;

@Autowired

@Qualifier(“redisTokenStore”)

private TokenStore tokenStore;

/**

  • 使用密码模式需要配置

*/

@Override

public void configure(Aut

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值