Web API - 在IIS上找不到404 OWIN TokenEndPointPath

时间:2017-05-31 13:26:52

标签: .net iis asp.net-web-api oauth-2.0 owin

我刚刚测试了一个正在运行的Web.Api,名为" WebApiServizio1"受OAuth2 BearerAuthentication(Owin实现)保护,并且它已部署在我的IIS WebServer的根目录下。

我想更改当前的网络服务器配置,移动" WebApiServizio1" web.Api在新网站WEBAPI中。所以我可以托管多个api(使用相同的主机和端口)。

IIS: WEBAPI网站端口:80(AppPool:Integrated,4.0)

Expected IIS Configuration

问题 但是当我尝试使用OWIN中间件进行验证时,我无法获得令牌,我得到的是#34; 404 - 未找到"试图到达TokenEndpointPath的响应。

回顾:

http://localhost/WebApiServizio1/ HTTP 403.14 - 禁止正确! http://localhost/WebApiServizio1/oauth/token/ HTTP 404.0 - 未找到 - :(

这是当前的Owin.Startup配置: Startup configuration

客户端配置 Client configuration

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

问题似乎是/电话中token之后的PostAsync()落后

改为写

using (HttpResponseMessage response = await client.PostAsync("/oauth/token", new FormUrlEncodedContent(values))) 

它应该有用。

旁注:当您使用DateTime.UtcNow.AddHours(8)初始化RefreshTokenProvider时,所有刷新令牌在程序启动后8小时有效,而不是在发出访问令牌后8小时。

答案 1 :(得分:0)

检查您的Owin Startup事件是否正在触发,并且它会附加此未找到的网址。在我的情况下,它不是由于错误的命名空间。

答案 2 :(得分:0)

在我的情况下,我直接部署了bin \文件夹,但是我忘了发布webapi,一旦完成,一切都像一个魅力^ _ ^