我正在尝试使用idsvr 3实现单点注销,我有两个客户端应用程序(一个MVC 5和一个asp.net核心)都注册为客户端并登录工作完美
MVC 5 - 客户端A Asp.NET核心 - 客户端B
当两个应用程序都已登录并且我单击客户端B上的注销链接时,客户端A将成功注销。但反之亦然(首先退出客户端A)客户端B未注销。在检查浏览器(Chrome版本56.0.2924.87)控制台时,我收到以下错误
拒绝框架 ' HTTPS:?/ client_B / myDomain的/ Signout_oidc / SID = 2adc40bd3ae432a81671118b09a' 因为它违反了以下内容安全策略指令: " frame-src' self' https:/client_B.myDomain https:/client_A.myDomain"。
我该如何解决这个问题?
答案 0 :(得分:0)
尝试将以下代码添加到IdentityServerOptions
实例。
CspOptions = new CspOptions
{
FrameSrc = "*"
}
有关如何在文档中配置IdvSrv3中的CSP的更多信息:
答案 1 :(得分:0)
感谢@Damian,我发现了问题所在。 问题出在客户端A URL上,其中有一个下划线()字符。以某种方式违反了CSP规则或其他内容。删除网址中的“”字符解决了问题。