JWT令牌(Oauth2的令牌加密)

前言

       通过我们创建Oauth2服务器,我们已经完成了利用Oauth2颁发和验证令牌

       但是我们登录成功用户的信息仍然保存在了服务器内存中

       其实就是我们看到的令牌是UUID作为的key,用户的信息是内存中的value

       本质上是使用这个uuid获得内存中的用户

       为了实现刚开始的目标,解放内存,我们需要使用JWT令牌

什么是JWT令牌

      JWT(Json Web Token)

·      是一种json格式,保存用户信息到客户端的一种形式

······将用户信息转换为json格式,然后进行加密,然后发送在客户端

······客户端接收到这个JWT之后,保存在客户端,之后在访问其它模块时,带着JWT,资源服务器解析获······得用户信息,进行访问

······这样就能不在内存中保存信息了··

下面我们尝试实现这个效果

@Configuration
public class TokenConfig {

    // 定义JWT令牌的解密口令
    private final String SINGING_KEY="pass";
    // 向Spring 容器中注入一个令牌生成器对象
    @Bean
    public TokenStore tokenStore(){
        return new JwtTokenStore(accessTokenConverter());
    }
    @Bean
    public JwtAccessTokenConverter accessTokenConverter(){
        // 实例化Jwt加密器
        JwtAccessTokenConverter converter=
                new JwtAccessTokenConverter();
        //  设置加密解密口令
        converter.setSigningKey(SINGING_KEY);
        return converter;
    }
}

****************************除此之外我们还要在授权服务器中增加以下配置

// ↓↓↓↓↓↓↓注入↓↓↓↓↓↓↓↓↓↓↓↓↓↓
@Autowired
private JwtAccessTokenConverter accessTokenConverter;
// 必须设置令牌增强才能生成Jwt令牌
    // 实例化令牌增强对象
    TokenEnhancerChain chain=new TokenEnhancerChain();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ovideooos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值