我通过在控制器中使用AddCors和EnableCors在我的ASP.NET/Angular应用程序中启用了CORS。我的应用程序正在与AD B2C页面通信。构建后,我在控制台中遇到此错误:
通过'https://XXX.b2clogin.com/访问XMLHttpRequest(已重定向 来自“ https://XXX.azurewebsites.net/User/Info”) “ https://XXX.azurewebsites.net”已被CORS政策禁止:否 请求中存在“ Access-Control-Allow-Origin”标头 资源。
Startup.cs:
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
控制器:
[EnableCors("CorsPolicy")]
[Authorize]
public class UserEditController : Controller
我也通过放置Allowed Origins - *
在Azure上启用了CORS。
更新:
[Route("User/Info")]
[HttpGet]
public async Task<IActionResult> LoggedInUserInfo()
{
if (User.Identity.IsAuthenticated)
{
var user = ((ClaimsIdentity)User.Identity).FindFirst(ClaimTypes.NameIdentifier).Value;
var viewmodel = await userService.GetUserByObjectId(user);
return Json(new { loggedIn = "true", user = viewmodel });
}
return Json(new { loggedIn = "false" });
}
答案 0 :(得分:1)
您似乎正在尝试从 https://xxx.azurewebsites.net/ 域到 https://xxx.b2clogin.com/ 域的跨域请求。
当前.b2clogin.com
域不允许来自任何其他域的任何跨域请求。