Как кто-то может реализовать функцию входа в Az (CLI Azure) в консольном приложении C #?
1. Запуск браузера с помощью Process.Start(@"http://url");
.После того, как пользователь введет свои учетные данные, вы получите код авторизации.Скопируйте его.
2. Получите код авторизации.
3. Получите токен доступа со следующим кодом:
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("ContentType", "application/json");
var requestURl = new Uri($"https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxxxx/oauth2/v2.0/token");
string body = "{\"client_id\": \"3c35ed0b-a441-4c57-9d1c-3a3b0392d9c3\",\"code\":\"the_code_you_copy_in_the_second_step\",\"redirect_uri\": \"https://localhost\",\"grant_type\": \"authorization_code\",\"client_secret\": \"xxxxxxxxxxxxxx\",\"scope\": \"user.read\"}";
var stringContent = new StringContent(body, Encoding.UTF8, "application/json");
var response = client.PostAsync(requestURl, stringContent).Result;
}
4. Результат: ![enter image description here](https://i.stack.imgur.com/77He2.png)
Более подробную информацию о том, как получить authorization code
и access token
, можно найти в этой статье .