WSO2 - 无法使用oidc库

时间:2017-10-17 08:57:30

标签: wso2 x-frame-options oidc

我正在使用oidc JS cilent library OIDC JS

我有使用openID连接端点连接到 WSO2 IDP服务器的客户端代码。在WSO2服务器上配置隐式

WSO2版本:wso2is-5.3.0

正常登录正常。当涉及访问令牌的静默刷新时,它失败了。 我正在使用oidc的“signinSilent”方法通过iframe进行静默登录并获取最新的访问令牌。

这适用于Gluu服务器。

以下是我们收到的错误的屏幕截图, enter image description here

错误:

Refused to display '<idp authz url>' in a frame because it set 'X-Frmae-Options' to 'deny'

2 个答案:

答案 0 :(得分:0)

您可以转到 {carbonhome}/repository/deployment/server/webapps/oauth2/WEB-INF 并将其添加到 HttpHeaderSecurityFilter:

<init-param>
  <param-name>antiClickJackingEnabled</param-name>
  <param-value>false</param-value>
</init-param>

这将禁用 X-Frame-Options 标头,从而允许所有域。但是,在执行此操作时要小心。您还可以设置 antiClickJackingOptions 并定义允许使用它的域。

答案 1 :(得分:0)

为了避免这个问题,必须将调用身份服务器的域添加到 WSO2 IS 上随附的 oauth2 Web 应用程序的 CORS 过滤器中。为此,只需修改此文件:

<wso2is_home>/repository/deployment/server/webapps/oauth2/WEB-INF/web.xml

并在 param-name cors.allowed.origins 中添加您要允许的基本 URL:

[...]
<filter> 
<filter-name>CorsFilter</filter-name> 
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class> 
<init-param> <param-name>cors.allowed.origins</param-name> 
<param-value>https://whatever.com, https://whatever2.com</param-value>
</init-param> 
[...]

修改这个并重启WSO2 IS后,浏览器就不会再屏蔽了