在你的情况下,你不能仅对所有内容使用默认类或基类,而是有多个实现类
OAuth2ProtectedResourceDetails。该配置取决于你配置OAuth服务的方式,但是从你的curl连接中假设,我建议:
@EnableOAuth2Client@Configurationclass MyConfig{ @Value("${oauth.resource:http://localhost:8082}") private String baseUrl; @Value("${oauth.authorize:http://localhost:8082/oauth/authorize}") private String authorizeUrl; @Value("${oauth.token:http://localhost:8082/oauth/token}") private String tokenUrl; @Bean protected OAuth2ProtectedResourceDetails resource() { ResourceOwnerPasswordResourceDetails resource; resource = new ResourceOwnerPasswordResourceDetails(); List scopes = new ArrayList<String>(2); scopes.add("write"); scopes.add("read"); resource.setAccessTokenUri(tokenUrl); resource.setClientId("restapp"); resource.setClientSecret("restapp"); resource.setGrantType("password"); resource.setScope(scopes); resource.setUsername("**USERNAME**"); resource.setPassword("**PASSWORD**"); return resource; } @Bean public OAuth2RestOperations restTemplate() { AccessTokenRequest atr = new DefaultAccessTokenRequest(); return new OAuth2RestTemplate(resource(), new DefaultOAuth2ClientContext(atr)); }}@Service@SuppressWarnings("unchecked")class MyService { @Autowired private OAuth2RestOperations restTemplate; public MyService() { restTemplate.getAccessToken(); }}
不要忘记
@EnableOAuth2Client你的配置类,我也建议你尝试首先使用正在使用的url与curl配合使用,并尝试使用调试器对其进行跟踪,因为由于安全性原因,很多异常只是被消耗掉而从未打印出来,因此很难找到问题所在。你应该使用
logger与
debug启用集。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)