ASP.NET Web API不支持授权类型

问题描述 投票:-3回答:1

我正在为我一直在研究的项目创建API,以便我可以轻松创建移动应用程序。我正在关注YouTube上的教程,ASP.NET Web API login page,并使用他正在使用的确切代码。然后我尝试在线托管它并在尝试获取令牌时获得不受支持的授权类型,授权类型当前设置为密码。有人为什么会这样做有什么想法?我知道登录信息是正确的,因为它与我在本地使用它仍然连接到实时数据库是一样的。我试过改变并删除contentType没有运气。

更新:

这是我遇到问题的代码。现在我有一个典型的MVC剃刀语法形式,但将提交按钮更改为常规按钮,因此我可以运行此ajax代码:

$('#login').click(function (e) {
    e.preventDefault();
    $.ajax({
        url: "/token",
        method: "POST",
        data: {
            username: $('#Email').val(),
            password: $('#Password').val(),
            grant_type: 'password'
            },

        success: function (data) {
            sessionStorage.setItem('accessToken', data.access_token);
            window.location.href = "/Home/Index";
            $('#logins')[0].reset();

        }
    });
});

这是我所做的唯一更改,其余的是默认来自Visual Studio项目中的ASP.NET Web API。如果需要,我将使用更多代码进行更新。如果你想测试我要去的地方here并使用用户名:[email protected]和密码:P @ ssw0rd登录。如果你去网络检查员,你应该看到令牌挂起并抛出一个500内部服务器错误,我自己测试它不会说不支持的授权类型,但是如果你去像postman这样的东西并经历相同的步骤和点它是api.lock-y.com/token,它告诉我授权类型不受支持。

更新2:打开自定义错误,这是尝试调用令牌时错误的完整堆栈跟踪,我提前道歉但是当我粘贴堆栈跟踪时我遇到了格式问题,因此它是in this pastebin。我做了一个快速谷歌搜索该错误,它说要检查连接字符串,我把它与工作网站上的配置进行比较,它看起来一样。当我在家时,我会再次更新,并且可以找到令牌的服务器端代码。

以下是例外的重要细节:

[Win32Exception(0x80004005):找不到网络路径]

[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)]

更新3:这是我当前的连接字符串:

<add name="DefaultConnection" connectionString="Data Source=dbhere;Initial Catalog=initialCatalogHere;User Id=UserIDHere;Password=PasswordHere;" providerName="System.Data.SqlClient" />
    <add name="LockyEntities" connectionString="metadata=res://*/Locky.csdl|res://*/Locky.ssdl|res://*/Locky.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=dbhere;Initial Catalog=initialCatalogHere;User Id=UserIDHere;Password=PasswordHere;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

更新4:以下是网络检查员关于错误的一些图像。

image 1

image 2

image 3

c# asp.net asp.net-web-api
1个回答
0
投票

我已经让它上班了!事实证明这是我的连接字符串,必须从我上次托管帐户复制我的连接字符串。感谢大家的帮助!

© www.soinside.com 2019 - 2024. All rights reserved.