我已经使用JWT和OAuth2实现了一个spring引导应用程序。通过将java keytool与jks密钥库一起使用来生成私钥和公钥。生成的.jks文件被复制并粘贴到spring boot应用程序的资源文件夹中。

@Configuration
@EnableAuthorizationServer
public class OAuth2Config extends AuthorizationServerConfigurerAdapter {
JwtAccessTokenConverter converter=new CustomTokenEnhancer();
converter.setKeyPair(new KeyStoreKeyFactory(new ClassPathResource("jwt.jks"),"password".toCharArray()).getKeyPair("jwt"));
return converter;
}当我运行应用程序时,出现了以下错误
Caused by: java.lang.IllegalArgumentException: Invalid JWK Set URL: null。
Caused by: java.net.MalformedURLException: null
at java.base/java.net.URL.<init>(URL.java:661) ~[na:na]
at java.base/java.net.URL.<init>(URL.java:523) ~[na:na]
at java.base/java.net.URL.<init>(URL.java:470) ~[na:na]
at org.springframework.security.oauth2.provider.token.store.jwk.JwkDefinitionSource.<init>(JwkDefinitionSource.java:74) ~[spring-security-oauth2-2.3.4.RELEASE.jar:na]
... 112 common frames omitted。
Caused by: java.lang.NullPointerException: null
at java.base/java.net.URL.<init>(URL.java:567) ~[na:na]
... 115 common frames omitted发布于 2020-11-08 11:55:14
在我的例子中,它没有被隐式地添加到构建路径中,这就是为什么会出现NullPointErexception。我使用maven作为构建工具,所以清理构建路径并手动重新安装它,然后它就可以在构建路径中使用了。
mvn clean installhttps://stackoverflow.com/questions/63169648
复制相似问题