我目前陷入困境,我创建了一个ASP Web API项目,并与我的主MVC应用程序分开部署,后者使用Thinktecture身份服务器进行联合身份验证。
我面临的问题与网络api cors支持有关。更具体地说,我在mvc应用程序中验证我的自我,但是当它向web api发送请求时,我收到以下错误:
XMLHttpRequest cannot load XXX. The request was redirected to 'https://localhost/idsrv/issue/wsfed?wa=wsignin1.0&wtrealm=http%3a%2f%2floca…assive%2..., which is disallowed for cross-origin requests that require preflight.
错误是有道理的,因为请求不包含WSFederationAuthenticatioModule所需的Http头,以验证我已经登录。
是否有任何可能的解决方法我不知道?
答案 0 :(得分:0)
据我所知,你有3个问题: 1.如何使用Web API启用WIF身份验证。
为此,您应该使用作为NuGet包存在的Thinktecture.IdentityModel.45(或MVC 5 - Thinktecture.IdentityModel)。请参阅此处的示例:Web Api security sample
问题2& 3见:Dog fooding our api authentication
This还应该让您了解如何使用MVC站点中收到的安全令牌来使用Web API进行身份验证。