繁体   English   中英

Thinktecture Identity Server Cors支持

[英]Thinktecture Identity Server Cors support

目前,我陷入了这样一个局面:我创建了一个ASP Web API项目,并与我的主MVC应用程序分开部署,该应用程序使用Thinktecture身份服务器进行联合身份验证。

我面临的问题与网络API核心支持有关。 更具体地说,我在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标头。

是否有我不知道的可能解决方法?

据我所知,这里有3个问题:1.如何使用Web API启用WIF身份验证。

为此,您应该使用以NuGet包形式存在的Thinktecture.IdentityModel.45(或用于MVC 5的版本-Thinktecture.IdentityModel)。 请在此处查看示例: Web Api安全示例

  1. 之后,您必须在Ajax请求的安全标头中发送令牌。
  2. 如果您的MVC网站和Web Api不在同一个域中,那么您将不得不处理CORS问题

对于问题2和问题3,请参阅: 狗食我们的api身份验证

也应该使您对如何使用在MVC站点中收到的安全令牌进行Web API身份验证有了一个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM