Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth KeyClope适配器未能强制执行策略决策NoHttpResponseException_Oauth_Keycloak_Jsessionid - Fatal编程技术网

Oauth KeyClope适配器未能强制执行策略决策NoHttpResponseException

Oauth KeyClope适配器未能强制执行策略决策NoHttpResponseException,oauth,keycloak,jsessionid,Oauth,Keycloak,Jsessionid,我们使用keydape作为身份验证服务器。我们使用jetty作为应用服务器,它将Key斗篷配置为身份验证资源服务器(使用Key斗篷适配器)。 我们有java客户端桌面应用程序,可以连接到jetty进行REST调用。每当客户机应用程序启动时,它都会要求登录(使用安装的Java插件)。它获取令牌,并在每个后续请求中将其传递给Jetty。整个流程工作顺利,没有问题 现在,当我检查Jetty http日志时,我看到对Jetty的每个传入调用都有一个对KC服务器的调用。此调用是/auth/realms/{

我们使用keydape作为身份验证服务器。我们使用jetty作为应用服务器,它将Key斗篷配置为身份验证资源服务器(使用Key斗篷适配器)。
我们有java客户端桌面应用程序,可以连接到jetty进行REST调用。每当客户机应用程序启动时,它都会要求登录(使用安装的Java插件)。它获取令牌,并在每个后续请求中将其传递给Jetty。整个流程工作顺利,没有问题

现在,当我检查Jetty http日志时,我看到对Jetty的每个传入调用都有一个对KC服务器的调用。此调用是
/auth/realms/{realm\u name}/protocol/openid connect/token

随着我增加Jetty服务器上的负载,上述KC调用开始失败,出现以下错误:

org.apache.http.NoHttpResponseException: <jetty_url> failed to respond
java.lang.RuntimeException: Failed to enforce policy decisions.
org.apache.http.NoHttpResponseException:未能响应
java.lang.RuntimeException:未能强制执行策略决策。
因此,每次呼叫都会失去响应,系统会停机

现在我有几个问题:
1) 为什么KC适配器在每次请求时都触发上述对KC的调用?是否有KC适配器可以缓存的设置 结果会持续一段时间。
2) 我相信上述异常是KC适配器内部使用的httpclient中的一些问题。这里有什么我们可以改变的吗?
3) 每当我从浏览器启动rest调用时(它在内部重定向到KC并要求登录),上述KC/令牌调用永远不会发生。桌面客户端与浏览器请求之间的区别在于浏览器设置具有JSESSIONID和会话状态的cookie。我们的桌面客户端是否也应该使用JSESSIONID而不是令牌?正确的方法是什么?如果是,如何获取JSESSIONID。我可以从令牌获取会话状态

请帮忙