如何使 IdentityServer 客户端与任何来源一起工作?
How to make IdentityServer client works with any origin?
当我在 IdentityServer 中创建一个新客户端时,我可以将 AllowedCorsOrigins
设置为 url 列表,但是有没有办法让它在不设置特定 url 的情况下与任何来源一起工作?
我搜索了一下,如果我是对的,似乎 ICorsPolicyService
的自定义实现是这种方式,不确定这是否是唯一的方式,但如果是的话,我该如何在身份服务器中注册它?我创建了 class 但我
我不确定如何进一步使其与身份服务器一起工作?
在您的 ConfigureServices
启动方法中,您可以像这样设置 Cors:
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
请注意,这允许任何来源,但也允许任何 header/method ...您可能希望根据自己的用例更改此设置。
然后在启动的 Configure
中确保您确实使用了您的策略,如下所示:
app.UseCors("CorsPolicy");
当我在 IdentityServer 中创建一个新客户端时,我可以将 AllowedCorsOrigins
设置为 url 列表,但是有没有办法让它在不设置特定 url 的情况下与任何来源一起工作?
我搜索了一下,如果我是对的,似乎 ICorsPolicyService
的自定义实现是这种方式,不确定这是否是唯一的方式,但如果是的话,我该如何在身份服务器中注册它?我创建了 class 但我
我不确定如何进一步使其与身份服务器一起工作?
在您的 ConfigureServices
启动方法中,您可以像这样设置 Cors:
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
请注意,这允许任何来源,但也允许任何 header/method ...您可能希望根据自己的用例更改此设置。
然后在启动的 Configure
中确保您确实使用了您的策略,如下所示:
app.UseCors("CorsPolicy");