我是Web Api 2的新手。我正在尝试构建一个项目来探索令牌授权。我在VS 2013中创建了一个新项目并选择了WebApi2模板并使用Fiddler来模拟http请求。我没有更改模板中的任何内容,只是按原样运行并尝试与Fiddler一起玩。我通过向/ api / account / register发出请求成功创建了一个用户,但我无法通过向/ Token端点发出POST请求来登录。请求是:
http://localhost:YYYY/token?grant_type=password&password=admin123456&username=admin
(我还尝试将参数作为请求体中的json对象传递)。
我回来了:
{"error":"unsupported_grant_type"}
来自其他帖子,例如ASP.NET WEB API 2 OWIN Authentication unsuported grant_Type我了解到我需要为web api和令牌端点启用CORS,但这对我没用。
答案 0 :(得分:1)
您确定要发送POST请求消息而不是GET吗?
如果您只是使用查询字符串转到URL(或从代码中打开与此URL的连接),则默认情况下您正在发送GET消息。它不是带有" / token"的WebAPI。路正在倾听。
答案 1 :(得分:-1)
如果您从同一个地方呼叫Web服务,则不需要CORS。错误“unsupported_grant_type”可能采用您在后期操作中传递服务器的数据格式。
尝试使用Content-Type application / x-www-form-urlencoded
发送