Azure Java SDK for az编程获取令牌

8ulbf1ek  于 2023-08-07  发布在  Java
关注(0)|答案(1)|浏览(105)

我正在研究azure java sdk,我没有找到一个 Package 方法

az account get-access-token --resource api://xxxxx.microsoft.com/YYYY/ZZZZ

字符串
这个请求在windows批处理中可以正常工作,但我无法使用azure java sdk运行。我将感谢任何关于如何使用AzureJavaSDK运行此命令的反馈
最好的问候,奥勒利安

33qvvth1

33qvvth11#

azure java sdk for az以编程方式获取令牌:-
你可以使用下面的java spring-boot代码来检索访问令牌,它对我的工作如下。
第一个月

package com.myapp.restcall.controller;  
import java.util.Collections;  
import org.json.JSONObject;  
import org.springframework.http.HttpEntity;  
import org.springframework.http.HttpHeaders;  
import org.springframework.http.HttpMethod;  
import org.springframework.http.MediaType;  
import org.springframework.http.ResponseEntity;  
import org.springframework.util.LinkedMultiValueMap;  
import org.springframework.util.MultiValueMap;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RestController;  
import org.springframework.web.client.RestTemplate;  
  
@RestController  
public class RestApiController {  
  
   @GetMapping(value = "/gettoken")  
   public static String getToken() throws Exception {  
   String url = "https://login.microsoftonline.com/<tenantID>/oauth2/token";  
  HttpHeaders headers = new HttpHeaders();  
  headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);  
  MultiValueMap<String, String> inputMap = new LinkedMultiValueMap<>();  
  
  inputMap.add("grant_type", "client_credentials");  
  inputMap.add("client_id", "CLIENT_ID");  
  inputMap.add("client_secret", "CLIENT_SECRET");  
  inputMap.add("resource", "https://management.core.windows.net/");  
  HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<MultiValueMap<String, String>>(inputMap,  
  headers);  
  RestTemplate template = new RestTemplate();  
  ResponseEntity<String> response = template.postForEntity(url, entity, String.class);  
  JSONObject myjson = new JSONObject(response.getBody());  
  String data = (String) myjson.get("access_token");  
  System.out.println(data);  
  String access_token = data;  
 return access_token;  
  
  }  
}

字符串
在执行上面的java代码之前,替换CLIENT_ID, CLIENT_SECRET & TENANT_ID
要生成程序,请在IDE终端中使用以下命令。

mvn clean install
mvn spring-boot:run


x1c 0d1x的数据


相关问题