我无法解决此错误,我有一个 .net core Web api,其中包含一个 React 应用程序(net core React 模板)
我还添加了cors:
services.AddCors(options =>
{
options.AddPolicy("AllowMyOrigin",
builder => builder.WithOrigins("https://localhost:44300")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials()
);
});
我尝试了多种方法,但无法克服这个错误。
我在网上找到了大量 Material 来尝试,但似乎没有任何效果,我觉得我错过了一些非常明显的东西?
有人能指出我正确的方向吗?
我希望应该有一个允许原始 header :
我还尝试使用 Mosif 浏览器扩展来打开 cors,这阻止了 cors 错误的显示,但现在我打开了 404 (notfound):
最佳答案
您提到打开 openid-configuration
网址时出现 404 错误。这意味着您的部分配置不正确。 您必须能够在浏览器中打开此网址并取回 JSON 文档。将其复制到新选项卡并进行调整,直到返回结果。
请仔细检查您配置的策略和租户名称。完整的网址通常如下所示:
https://tenantname.b2clogin.com/tenantname.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration
https://tenantname.b2clogin.com/tenantname.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=<policy-name>
https://login.microsoftonline.com/tfp/tenantname.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration
所有这些都同样有效,可以根据您的场景使用。
配置应该如下所示:
authentication.initialize({
instance: 'https://tenantname.b2clogin.com/',
tenant: 'tenantname.onmicrosoft.com',
另一个问题可能是,如果您的 B2C 租户很新,Microsoft could be blocking support for microsoftonline for your tenant 。在这种情况下,请尝试切换到 b2clogin.com 域作为您的实例。
在 Azure 门户中打开用户流时,您可以看到此 URL 的可能值。
作为旁注,我建议切换到不同的 react 库。您正在使用的那个并没有真正得到维护。我们目前正在使用https://github.com/syncweek-react-aad/react-aad
关于azure - 尝试调用 B2C 登录时出现 no-access-control-allow-origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62975275/