microsoft / IIS.WebManager

Web Manager for managing IIS
Other
157 stars 52 forks source link

Issue with getting access token #496

Closed Jzheng213 closed 5 years ago

Jzheng213 commented 5 years ago

Hello, I am having an issue grabbing the access code. The Get request returns the csrf token perfectly fine, but when I make the post request I get a 400 response.

My code below;


Uri baseUri = new Uri($@"https://{serverName}/");
HttpClient tokenClient = new HttpClient(
    new HttpClientHandler() {
        UseDefaultCredentials = true
    },true) {
        BaseAddress = baseUri
    };

var xsrftoken = await tokenClient.GetAsync("security/api-keys");
IEnumerable<string> token = xsrftoken.Headers.GetValues("XSRF-TOKEN");

var js = JsonConvert.SerializeObject(new { purpose = "Admin" });

HttpClient accessTokenClient = new HttpClient(
    new HttpClientHandler() {
        UseDefaultCredentials = true
    },true) {
        BaseAddress = baseUri
    };

accessTokenClient.DefaultRequestHeaders.Add("XSRF-TOKEN", token.First());
accessTokenClient.DefaultRequestHeaders.Add("Accept", "application/hal+json");
var stringContent = new StringContent(js, Encoding.UTF8, "application/json");

var access_token = await accessTokenClient.PostAsync("security/api-keys", stringContent);