2016-02-29 62 views
1

我有一个与keycloak集成的应用程序。应用程序在野蛮服务器上运行。我使用web.xml来验证keycloak(如Login配置)。除此之外,我使用keycloak.json文件,在应用程序中定义keycloak领域设置。 当我调用应用程序页面时,在输入凭证后会打开keycloak登录页面,它会返回到带有403禁止错误的wildfly。蜻蜓与keycloak 403的集成禁止错误

以前,相同的设置工作,但现在启用ssl后,我面临这个问题。

请帮我解决这个问题,它是否需要任何其他额外的SSL设置。

感谢, JP

+0

请更改日志记录级别为'Trace'和发布可能会在server.log文件中得到任何错误 – Shiva

+1

您可以添加禁用'信托经理:在keycloak.json文件TRUE'和检查作为SSL证书可能不在信托经理 – Shiva

回答

0

问题在于keycloak配置。为我的应用程序创建的角色没有范围。将角色启用到完整范围之后,问题就解决了。

+0

你能详细说明如何更改范围吗? – krs8888

2

如果是登录失败启用后,SSL那将是因为SSL证书是不是在信任,你可能这个异常javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

为此,您可以禁用的情况下以诚取信经理,在keycloak.json

{ 
    ... 
    "disable-trust-manager": true 
    } 

加入以下的conf如果这样可以解决问题,然后做这将是该证书添加到信任存储和SPE的正确方法在keycloak.json文件中将其引用如此。

​​
+0

但我没有在日志中得到任何例外。电话被转发到keycloak。我登录后,电话回到野蛮,我在屏幕上禁止这个。 –

+0

@JayapriyaAtheesan:我会建议增加wildfly中的日志记录级别,然后检查logs.BTW你使用的是哪种keycloak版本? – Shiva

+0

我使用keycloak 1.6.0 final。我已经启用了日志以及最好的。但我没有在日志中得到任何错误 –

0

由于设置在没有SSL的情况下工作,范围相关的问题可能不会导致403错误。相反,可以先测试通过IDP HTTPS端口从客户端应用程序服务器到IDP服务器的连接(可以使用telnet)。

否则,它可能是SSL证书验证问题,由@Shiva回答。只需添加它,理想情况下,有效的CA证书可能不会产生信任问题。在这种情况下,可以检查支持您的IDP证书CA的浏览器和Java版本。只需升级到最新的Java版本或将CA的根证书添加到您的默认信任库即可解决此类问题。这不需要对keycloak.json文件进行任何更改。

GoDaddy certificate issue example

P.S:因为我无法添加评论,所以在这里添加了这些要点。