找不到能够从类型 com.mongodb.BasicDBObject 转换为类型 org.springframework.security.oauth2.provider.OAuth2Authenticatio 的转换器

No converter found capable of converting from type com.mongodb.BasicDBObject to type org.springframework.security.oauth2.provider.OAuth2Authenticatio

我正在使用以下内容并使用以下库:

spring-引导:1.5.4

spring-安全 - 3.2.7

spring-oauth : 2.0.7

spring-boot-starter-data-mongodb : 1.5.4

spring-数据-mongodb:1.10.4

当我尝试使用此 POST url 获取 oauthtoken 时: http://localhost:8080/oauth/token?grant_type=password&username=abc&password=xyz&client_id=testing&client_secret=testing using postman 我得到这个错误:

 {
"error": "server_error",
"error_description": "No converter found capable of converting from type [com.mongodb.BasicDBObject] to type [org.springframework.security.oauth2.provider.OAuth2Authentication]"
}

请帮忙

此致

克里斯

我需要提供一个从 DBObject 到 OAuth2Authentication 的转换器,我参考了这个 link Set MongoDb converter programmatically 用于以编程方式注册转换器

MappingMongoConverter converter = new MappingMongoConverter(mongoDbFactory, context);
converter.setTypeMapper(mapper);
converter.setCustomConversions(new CustomConversions(
    Arrays.asList(
            new TimeZoneReadConverter(),
            new TimeZoneWriteConverter()
    )
 ));
converter.afterPropertiesSet();
MongoTemplate template = new MongoTemplate(mongoDbFactory, converter);

和这个将 DBObject 转换为 OAuth2Authentication 的 link ,我解决了这个问题。

此致

克里斯