浏览器拒绝构建IdentityServer 3 LogOut Url

时间:2017-02-28 05:38:47

标签: google-chrome single-sign-on logout identityserver3 content-security-policy

我正在尝试使用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"。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

尝试将以下代码添加到IdentityServerOptions实例。

CspOptions = new CspOptions
{
    FrameSrc = "*"
}

有关如何在文档中配置IdvSrv3中的CSP的更多信息:

答案 1 :(得分:0)

感谢@Damian,我发现了问题所在。 问题出在客户端A URL上,其中有一个下划线()字符。以某种方式违反了CSP规则或其他内容。删除网址中的“”字符解决了问题。