如何使用 IdentityServerClientCorsOrigins? (ABP.IO)
How to use IdentityServerClientCorsOrigins? (ABP.IO)
目前,cors 来源是在 appsettings 中配置的,但是我无法以从 SQL 服务器数据库获取来源的方式进行配置。
我已经注释掉了 withOrigins 部分,但是我已经在数据库中配置了它,但它被拒绝了
这是我从 http://localhost:3000 调用时得到的错误
Access to XMLHttpRequest at 'https://ids.local/connect/userinfo' from origin 'http://localhost:3000' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
在 IdentityServer 项目上应用这些:
- 将
AllowedCorsOrigins
添加到 Config.cs
或数据库(如果使用 EF)中的客户端配置
AllowedCorsOrigins =
{
"http://localhost:3000"
},
确保在配置 CORS 时使用来源(而不是 URL)。例如:https://foo:123/ 是一个 URL,而 https://foo:123 是一个 origin.
参考:http://docs.identityserver.io/en/dev/topics/cors.html#client-based-cors-configuration
- 如果您有自定义 cors 策略,请将其添加到
startup.cs
- ConfigureServices
。
services.AddCors(options =>
{
options.AddPolicy("default", policy =>
{
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
- 在
startup.cs
- Configure
上,在 IdentityServer 之后添加 cors。
app.UseIdentityServer();
app.UseCors("default");
IDS4 已经注册了自定义 cors 策略,如果你也有,请确保在 IDS4 中间件之后添加它
目前,cors 来源是在 appsettings 中配置的,但是我无法以从 SQL 服务器数据库获取来源的方式进行配置。
我已经注释掉了 withOrigins 部分,但是我已经在数据库中配置了它,但它被拒绝了
这是我从 http://localhost:3000 调用时得到的错误
Access to XMLHttpRequest at 'https://ids.local/connect/userinfo' from origin 'http://localhost:3000' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
在 IdentityServer 项目上应用这些:
- 将
AllowedCorsOrigins
添加到Config.cs
或数据库(如果使用 EF)中的客户端配置
AllowedCorsOrigins =
{
"http://localhost:3000"
},
确保在配置 CORS 时使用来源(而不是 URL)。例如:https://foo:123/ 是一个 URL,而 https://foo:123 是一个 origin.
参考:http://docs.identityserver.io/en/dev/topics/cors.html#client-based-cors-configuration
- 如果您有自定义 cors 策略,请将其添加到
startup.cs
-ConfigureServices
。
services.AddCors(options =>
{
options.AddPolicy("default", policy =>
{
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
- 在
startup.cs
-Configure
上,在 IdentityServer 之后添加 cors。
app.UseIdentityServer();
app.UseCors("default");
IDS4 已经注册了自定义 cors 策略,如果你也有,请确保在 IDS4 中间件之后添加它