解决 JWT + SSO 报错 :Error creating bean with name 'jwtTokenServices' ...

异常如下

 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'jwtTokenServices' defined in org.springframework.boot.autoconfigure.security.oauth2.resource.ResourceServerTokenServicesConfiguration$JwtTokenServicesConfiguration: Unsatisfied dependency expressed through method 'jwtTokenServices' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenStore' defined in org.springframework.boot.autoconfigure.security.oauth2.resource.ResourceServerTokenServicesConfiguration$JwtTokenServicesConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.security.oauth2.provider.token.TokenStore]: Factory method 'jwtTokenStore' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenEnhancer' defined in org.springframework.boot.autoconfigure.security.oauth2.resource.ResourceServerTokenServicesConfiguration$JwtTokenServicesConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter]: Factory method 'jwtTokenEnhancer' threw exception; nested exception is org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 null
    	at  ...

报这个错是因为我们没有在客户端的 application.properties里配置token-value

解决方法

   配置一下application.properties文件红框里的属性 ↓
在这里插入图片描述

根据提供的引用内容来看,问题是关于"Nacos启动报错: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'user': Unsatisfied dependency expressed through field 'jwtTokenManager'"的。在引用中提到,这个错误是由于在JwtTokenManager类的构造函数中抛出了一个异常,异常信息是"the length of secret key must great than or equal 32 bytes; And the secret key must be encoded by base64"。这意味着密钥的长度必须大于等于32个字节,并且必须使用base64进行编码。 另外,在引用中提到了一个关于数据源配置的问题,其中driverClassName应该设置为"com.mysql.cj.jdbc.Driver"。在引用中提到了在pom文件中引入的mysql-connector-java的版本是5.1.49。 综上所述,解决这个问题的步骤包括: 1.JwtTokenManager类的构造函数中使用长度大于等于32个字节的密钥,并确保密钥经过base64编码。 2. 检查数据库配置文件(applicationContext-datasource.xml)中的driverClassName是否正确设置为"com.mysql.cj.jdbc.Driver"。 3. 确保项目中使用的mysql-connector-java的版本与pom文件中引入的版本一致,即5.1.49。 请注意,以上步骤仅为解决给出的错误信息所提供的一般性建议,具体解决方法可能因环境和项目配置而有所不同。如有需要,请查阅相关文档或寻求专业的开发人员支持。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Error creating bean with name ‘user‘: Unsatisfied dependency expressed through field ‘jwt](https://blog.csdn.net/weixin_44012027/article/details/129645876)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Error creating bean with name ‘userService‘: Unsatisfied dependency expressed through field](https://blog.csdn.net/m0_52288433/article/details/127948405)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值