【问题标题】:Can't get authentication token from web api 2无法从 web api 2 获取身份验证令牌
【发布时间】:2015-03-03 19:04:35
【问题描述】:

我是 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,但这对我不起作用。

【问题讨论】:

    标签: asp.net authentication token asp.net-web-api2 identity


    【解决方案1】:

    您确定您发送的是 POST 请求消息而不是 GET 吗?

    如果您只是转到带有查询字符串的 URL(或从您的代码打开到此 URL 的连接),则默认情况下您正在发送 GET 消息。这不是带有“/token”路径的 WebAPI 正在监听的。

    【讨论】:

      【解决方案2】:

      如果您从同一个地方调用 Web 服务,则不需要 CORS。错误“unsupported_grant_type”可能是您在后期操作中传递服务器的数据格式。

      尝试使用 Content-Type application/x-www-form-urlencoded 发送

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-23
        • 2015-06-21
        • 2021-04-21
        • 2015-12-25
        • 2013-11-25
        • 2014-07-07
        • 1970-01-01
        • 2021-12-02
        相关资源
        最近更新 更多