in wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics.Common/Services/CommonService.cs [45:66]
public string GetAccessTokenWVD(string refreshToken)
{
_logger.LogInformation("Get Access token using refresh token for WVD API. ");
HttpResponseMessage response;
Dictionary<string, string> requestdata = new Dictionary<string, string>();
var url = _config["configurations:AAD_Token_URL"];
requestdata.Add("grant_type", "refresh_token");
requestdata.Add("auth_url", _config["configurations:AAD_AUTH_URL"]);
requestdata.Add("resource", _config["configurations:RESOURCE_URL"]);
requestdata.Add("client_id", _config["AzureAd:ClientId"]);
requestdata.Add("client_secret", _config["AzureAd:ClientSecret"]);
requestdata.Add("refresh_token", refreshToken);
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
response = client.PostAsync(url, new FormUrlEncodedContent(requestdata)).Result;
var tokenval = response.Content.ReadAsStringAsync().Result;
JObject obj = JObject.Parse(tokenval);
var accesstoken = (string)obj["access_token"];
return accesstoken;
}
}