java - 如何进行 OAuth 2 API 调用并获取响应

标签 java spring spring-mvc spring-boot oauth-2.0

我想创建一个 Spring boot 应用程序,它将通过 OAuth2 进程调用 API。

我已经检查过this但有人可以用简单的方式向我解释一下吗?

我所拥有的只是 URL(获取承载 token )、客户端 ID 和客户端 key 。

检索到不记名 token 后,我希望调用实际的 API,并将检索到的不记名 token 放入 header 中,这样我就能得到响应。

最佳答案

Spring 里, 您可以使用 RestTemplate.exchange 方法进行 API 调用。

由于 API 使用 OAuth2.0 - 访问 token (不记名 token )进行保护, token 必须在“Authorization” header 中传递。

尝试使用下面所示的代码来使用 header 请求进行 API 调用:

String url = "https://you-api-url";
RestTemplate restTemplate = new RestTemplate();

// set the headers 
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Bearer " + token_value); 

HttpEntity entity = new HttpEntity(headers);

// send the GET request
HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);

// display the response
System.out.println("Response" + response.getBody());

希望对你有帮助!

关于java - 如何进行 OAuth 2 API 调用并获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48589012/

相关文章:

java - 如何使用 gradle 在构建时复制资源以进行测试

java - 将 Spring Bean Autowiring 到默认方法的接口(interface)中

java - spring data jpa repo,为什么需要接口(interface)服务和服务实现

java - Groovy 如何访问 Java 类的私有(private)方法?

java异常处理这里粘贴的两种样式有什么区别?

java - 在 servlet web 应用程序中找出与 MAC 地址关联的 IP 地址

java - 内容协商 : How to serve other than the highest ranking type from accept header

java - "No transaction is in process"与 Spring Kafka 使用 ReplyingKafkaTemplate、@KafkaListener 和 @SendTo

java - 在存储库中返回空点异常 - Spring Boot

java - 如何使用 Spring MVC 和 Spring Security 为资源处理程序启用 HTTP 缓存