InMemoryClientRegistrationRepository: Factory method threw exception; nested exception is java.lang.NoSuchFieldError: PASSWORD

InMemoryClientRegistrationRepository: Factory method threw exception; nested exception is java.lang.NoSuchFieldError: PASSWORD

我在我的独立应用程序中使用 spring-boot with spring-security 和 OAuth2 授权,但是我遇到了一个无法修复的意外错误。这与 ClientRegistrationRepository 和我的工厂方法有关。我试图自己实现这个接口,但我遇到了同样的问题。详情:

图书馆:
- spring-boot-starter: 2.1.9.RELEASE
- spring-security-core, spring-security-web, spring-security-config, spring-security-oauth2-client, spring-security -oauth2-jose: 5.2.0.RELEASE

堆栈跟踪:here
片段:here

就是这样。提前感谢您的帮助:)

看来是库的问题:我发现ClientRegistration中有如下代码class:

  } else if (AuthorizationGrantType.PASSWORD.equals(this.authorizationGrantType)) {
            this.validatePasswordGrantType();

但 AuthorizationGrantType class 不包含此类字段。 我用的是 5.1.6.RELEASE,它很有帮助。