当身份服务器从
https:/sso.com/connect/authorize?..
重定向到 https://anotherhost.com/sigin-oidc
时,我遇到问题,它显示 CSP 错误,如上所述
拒绝将表单数据发送到form-action 'https://anotherhost.com/sigin-oidc' 因为它紫罗兰以下内容 内容安全策略指令:form-action https://anotherhost.com
目前为止,我发现 Google 和 Safari 浏览器即使在 Get Request 中也不允许表单操作,如果它没有正确定义 CSP,这意味着我必须在 CSP 中添加 https://anotherhost.com/sigin-oidc 但我的主要问题是我如何添加到 Asp.net core 因为当我尝试像下面这样添加时
app.Use(async (context, next) =>
{
if (context.Request.Path.StartsWithSegments("/connect/authorize"))
{
context.Response.Headers.["Content-Security-Policy"] += "form-action 'self' https://anotherhost.com/sigin-oidc";
}
await next();
});
此代码仅添加表单操作,其余策略丢失。所以我有两个问题,第一是
connect/authorize
如何在内部添加此内容安全策略,第二是我如何在asp.net core中进行管理。
您写的这篇文章很好,内容丰富。期待您更多的文章。我还想分享一些有关起亚海得拉巴展厅的信息