无法从不同项目中的站点授权WEB API请求

Igo*_*rek 7 asp.net-mvc cors owin

我认为,在Visual Studio中我认为是一种非常常见的解决方案模式:

  1. ASP.NET MVC项目,具有多个角度支持的ASP.NET视图
  2. 将API数据提供给angularjs的WEB API v2项目

我正在使用OWIN与auth存储在应用程序cookie方法MVC和WEB API项目有这个配置:

    app.UseCookieAuthentication(new CookieAuthenticationOptions             {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        LoginPath = new PathString("/Account/Login"),
        LogoutPath = new PathString("/Account/Logout"),
        CookieDomain = CloudConfigurationManager.GetSetting("AuthCookieDomain"),
        CookieSecure = CookieSecureOption.Always,
        CookiePath = "/",
        CookieHttpOnly = false,
        ExpireTimeSpan = TimeSpan.FromDays(365),
        SlidingExpiration = true,           });

    // Use a cookie to temporarily store information about a user logging in with a third party login provider          app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
Run Code Online (Sandbox Code Playgroud)

Web API要求对每个调用进行身份验证:

    config.Filters.Add(new AuthorizeAttribute());
Run Code Online (Sandbox Code Playgroud)

Cors已启用,OWIN的Cors安装在Web API项目中.这两个项目都在https:// localhost下运行,但目前使用不同的端口如果我通过浏览器登录MVC站点并在web api方法上进行GET,一切都很好.但是,如果网站提出请求,则会获得联合国授权.

有什么建议?