springcloud+oAuth2(2-资源服务配置+jwt令牌储存策列)

本文介绍如何在SpringCloud中结合OAuth2使用JWT进行资源服务的配置。首先解释JWT的性质和优点,然后详细阐述授权服务JWT配置的四个步骤,包括令牌储存策略的修改。接着,资源服务的配置包括搭建资源服务、配置OAuth2以及指定资源服务角色。最后,展示了测试方法和访问资源服务时携带JWT令牌的方式。
摘要由CSDN通过智能技术生成

在上一节中我们配置了权限服务,并且可以通过oAuth2提供的几种模式获取token,那么获取到token后如何访问资源服务呢?

JWT是什么?

JSON Web Token(JWT)是一个开放的行业标准(RFC 7519),它定义了一种简介的、自包含的协议格式,用于在通信双方传递json对象,传递的信息经过数字签名可以被验证和信任。JWT可以使用HMAC算法或使用RSA的公 钥/私钥对来签名,防止被篡改。
JWT令牌的优点:
1、jwt基于json,非常方便解析。
2、可以在令牌中自定义丰富的内容,易扩展。
3、通过非对称加密算法及数字签名技术,JWT防止篡改,安全性高。
4、资源服务使用JWT可不依赖认证服务即可完成授权。

缺点:
1、JWT令牌较长,占存储空间比较大。

代码实现:

一:授权服务JWT的配置:

(1) 第一步:准备一个具备授权认证的服务 授权认证服务搭建
(2) 第二步:修改令牌储存策列的配置类,如下,之前搭建的是基于内存的;

@Configuration
public class TokenStoreConfig {
   
    /**
     * 令牌的存储策列(基于内存的存储)生成普通令牌,后面可用jwt
     * @return
     */
//    @Bean
//    public TokenStore tokenStore(){
   
//
//        return new InMemoryTokenStore();
//    }

    /**
     * 密钥签名  授权服务 与 资源服务配置一样的
     */
    private static  final String SIGNING_KEY = "signing_key";
    /**
     *Jwt 的令牌存贮策列
     * @return
     */
    @Bean
    public TokenStore tokenStore(){
   
        return new JwtTokenStore(this.accessTokenConverter());
    }
    @Bean
    public JwtAccessTokenConverter accessTokenConverter(){
   
        JwtAccessTokenConverter jwt = new JwtAccessTokenConverter();
        jwt.setSigningKey(SIGNING_KEY);
        return jwt;
    }
}

(3) 第三步:修改授权服务(9951)配置授权认证的配置类 AuthorizationServerConfig 就是在之前已有的tokenServices方法上加入jwt的令牌规则;


	@Autow
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值