如何使用OAuth2RestTemplate?

如何使用OAuth2RestTemplate?,第1张

如何使用OAuth2RestTemplate?

在你的情况下,你不能仅对所有内容使用默认类或基类,而是有多个实现类

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
启用集。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4896694.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存