我刚刚测试了一个正在运行的Web.Api,名为" WebApiServizio1"受OAuth2 BearerAuthentication(Owin实现)保护,并且它已部署在我的IIS WebServer的根目录下。
我想更改当前的网络服务器配置,移动" WebApiServizio1" web.Api在新网站WEBAPI中。所以我可以托管多个api(使用相同的主机和端口)。
IIS: WEBAPI网站端口:80(AppPool:Integrated,4.0)
问题 但是当我尝试使用OWIN中间件进行验证时,我无法获得令牌,我得到的是#34; 404 - 未找到"试图到达TokenEndpointPath的响应。
回顾:
http://localhost/WebApiServizio1/ HTTP 403.14 - 禁止正确! http://localhost/WebApiServizio1/oauth/token/ HTTP 404.0 - 未找到 - :(
有什么想法吗?
答案 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,一旦完成,一切都像一个魅力^ _ ^