所以我的解决方案是生成 post 请求来获取令牌
private static void postCall() throws IOException {
// Create a new HTTP client
OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
// Create the request body
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.Companion.create("password=yourPassword&grant_type=password&client_id=yoirClientId&username=yourUserName",mediaType);
// Build the request object, with method, headers
Request request = new Request.Builder()
.url("https://your-address-to-get-the-token/openid-connect/token")
.method("POST", body)
.build();
// Perform the request, this potentially throws an IOException
Response response = client.newCall(request).execute();
// Read the body of the response into a hashmap
Map<String, Object> responseMap = new ObjectMapper().readValue(response.body().byteStream(), HashMap.class);
// Read the value of the "access_token" key from the hashmap
String accessToken = (String) responseMap.get("access_token");
//System.out.println(responseMap.toString());
// Return the access_token value
System.out.println("accessToken " + accessToken);
request = new Request.Builder()
.url("https://your-endpoint-rest-call")
.method("GET", null)
.addHeader("Authorization", "Bearer " + accessToken)
.build();
response = client.newCall(request).execute();
System.out.println("Response" + response.body().string());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4055 次 |
| 最近记录: |