asp.net-core - 在 .Net Core API 中,当我使用 Microsoft Identity AddSignIn 而不是旧解决方案时 AddAuthentication CORS 不起作用
问题描述
因此,我使用 Microsoft.Identity.Web 的预览版进行 Azure 身份验证,它工作正常。但是我们的前端是 React 并托管在其他地方。所以我们需要为此启用 Cors。但我收到如下 Cors 错误:
已从源“http://localhost:3000”访问“https://login.microsoftonline.com/....”(从“https://localhost:44323/imrprojects/search”重定向)获取被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
如果我更改代码并使用旧的解决方案,它工作正常!startup.cs 中的代码:
//services.AddAuthentication(sharedOptions =>
//{
// sharedOptions.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
//})
//.AddAzureAdBearer(options => Configuration.Bind("AzureAd", options));
services.AddSignIn(Configuration);
如果我使用 services.AddAuthentication 它可以工作,但是当我使用 services.AddSignIn 它不工作。
顺便说一句,我有 services.AddCors 和 app.UseCors 。
解决方案
谢谢你!你说的对。我想我必须使用 AppProtectedWebAPI。
现在我在前端收到此错误,但我认为我需要在应用注册中添加范围或角色。
在不记名令牌中找不到范围或角色声明
推荐阅读
- ios - 如何快速到达附近的加油站并向用户显示方向?
- python - TypeError:after_cancel() 接受 2 个位置参数,但给出了 3 个
- php - vServer 被 Cloudflare 阻止(解决控制台上的验证码)
- python - -215:断言失败
- react-native - 使用 OpenStreetMap 反应原生离线地图
- node.js - Node、Express - 索引文件未正确调用文件
- php - Google Analytics V4 Hello Analytics + 在运行 BatchGet() 之前检查请求权限状态
- sql-server - 二父表一子表关系
- svelte - 如何绑定苗条的动态组件值
- ios - 使用 AudioConverter 将 PCM 转换为 AAC 并使用 AVAssetWriter 写入 .mp4 文件时音频失真