我已经创建了一个具有个人帐户安全性的asp.net web api 2服务.我试图按照这个例子将其称为AngularJs:
http://www.codeproject.com/Articles/742532/Using-Web-API-Individual-User-Account-plus-CORS-En
无法让它工作,所以从这里添加了一些配置:
How to make CORS Authentication in WebAPI 2?
http://www.codeproject.com/Articles/742532/Using-Web-API-Individual-User-Account-plus-CORS-En
无法让它工作,所以从这里添加了一些配置:
How to make CORS Authentication in WebAPI 2?
并且无法通过此错误:
XMLHttpRequest无法加载’serverRegisterUrl’.
‘Access-Control-Allow-Origin’标头包含多个值’clientUrl,*,*’,
但只允许一个.因此,不允许来源’clientUrl’访问.
我不明白这个错误信息.我认为Access-Control-Allow-Origin字符串意味着允许原始clientUrl,所有标题,所有方法
我不明白这个问题.如果我应该只在某处指定原点,我不知道那是哪里.
我在Microsoft Azure上运行此操作,并使用vs express for web 2013 update 2以防万一.
解决方法
我得到了它的工作,我认为它归结为配置.
Web.config:没有“Access-Control-Allow-Origin”customHeaders节点
Web.config:没有“Access-Control-Allow-Origin”customHeaders节点
Startup.Auth.cs:
//这必须首先拦截/ Token请求
app.UseCors(CorsOptions.AllowAll);
//使应用程序能够使用承载令牌对用户进行身份验证
app.USEOAuthBearerTokens(OAuthOptions);
WebApiConfig.cs :(不在这里启用cors)
// var cors = new EnableCorsAttribute(“*”,“*”,“*”);
//config.EnableCors(cors);
AccountController.cs:
GetExternalLogin方法的属性:
[EnableCors(起源:“*”,标题:“*”,方法:“*”)]
我认为这是我目前的整个CORS配置.