web api Bad Request when getting access token after moving to production

落爺英雄遲暮 提交于 2019-12-12 01:28:29

问题


I have a web api that is working great in test using an access token / bearer authentication. I authenticate and make requests using HttpClient. Easy.

Here is the basic web client setup. The base address is a constant that I change when moving to production.

    public static HttpClient GetClient()
    {

        HttpClient Client = new HttpClient();

        Client.BaseAddress = new Uri(Ics2Constants.ICS2APIBaseAddress);
        Client.DefaultRequestHeaders.Accept.Clear();
        Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        return Client;
    }

I build the token request login info like so:

       var values = new Dictionary<string, string>();
        values.Add("grant_type", "password");
        values.Add("username", "niceUser");
        values.Add("password", "NiCePaSsWord");
        var loginContent = new FormUrlEncodedContent(values);

And then I make the request for the access token:

        var loginResponse = await client.PostAsync("/Token", loginContent);

In test mode, perfect. I can get my access token, pass it back on subsequent requests. All is good.

When I move to production. I get a bad request 400 on the request for access token. I do have the base address right because if I take off the authorize attribute I can get data back.

Something is different about the request for access token in production, but I have no clue what to change.


回答1:


Well, the answer ended up being two part:

1) Issue with the web host. They had a corruption on their end.

2) After they fixed their issue I still received a 404 (not found)... so I had to take out the "/" in my PostAsync. So the new line looks like so:

var loginResponse = await client.PostAsync("Token", loginContent);  

It worked in debug on the local side with the "/", but the production side was not happy.

I'm up and working now. :)



来源:https://stackoverflow.com/questions/30656795/web-api-bad-request-when-getting-access-token-after-moving-to-production

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!