Docker 中的 Keycloak“无法将代码转换为令牌”

2024-05-02

我正在 Docker-compose 网络中运行 Keycloak、keycloak Security Proxy 和 ui 应用程序。当我尝试访问该网页时,我得到一个可以使用的登录页面 - 但我没有成功重定向,而是收到以下错误:

> Aug 03, 2018 1:13:24 PM org.keycloak.adapters.OAuthRequestAuthenticator resolveCode
ERROR: failed to turn code into token
java.net.ConnectException: Connection refused (Connection refused)
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
      at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
      at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
      at java.net.Socket.connect(Socket.java:589)

无论我代理哪种类型的应用程序,或者如果我在 Docker-compose 中运行它或只是作为节点运行它,我都会收到此错误。当我尝试使用 python 适配器而不是安全代理时,它也可能会出现。

整个网络在公司代理后面运行,这可能是原因吗?

考虑到代码似乎是发送的(见下文),看来Keycloak至少可以验证用户。但我对如何解决这个问题感到困惑。有人有什么想法吗?

http://localhost:8080/?state=84736978-afe6-43eb-a554-aedf86717415session_state=8a231709-5ef3-45fd-8e36-103e521ba49ecode=eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0 ..4GewkGISgYEXeGPUCxupsA.V939JivWRaNltjnjT4r2CJGT4oj1HEX9iXycJFoAb_qhI4ietRc5Z2wQO6ekF9MOZ0VtMcLAyX0zASY-NPEcf3byX0INP-2zJDSF4TOEXNbMbMnVeKFgmLgQKDseU sl1ieofPVY7df8QVvpTs98VAw2_g2XwTsLemBcpxfalvMRBwViN6PyJI8A-gJJToolyDafHbzIco7bH4X4y5bzZsUh5yB6ZUMy0goBkAV_KPLepnA8X2OjEJef8GHyqgHVi.QQtjD-E_MZq72hb4 g0BEbw http://localhost:8080/?state=84736978-afe6-43eb-a554-aedf86717415session_state=8a231709-5ef3-45fd-8e36-103e521ba49ecode=eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..4GewkGISgYEXeGPuCxupsA.V939JivWRaNltjnjT4r2CJGT4oj1HEX9iXycJFoAb_qhI4ietRc5Z2wQO6ekF9MOZ0VtMcLAyX0zASY-NPEcf3byX0INP-2zJDSF4TOEXNbMbMnVeKFgmLgQKDseUsl1ieofPVY7df8QVvpTs98VAw2_g2XwTsLemBcpxfalvMRBwViN6PyJI8A-gJJToolyDafHbzIco7bH4X4y5bzZsUh5yB6ZUMy0goBkAV_KPLepnA8X2OjEJef8GHyqgHVi.QQtjD-E_MZq72hb4g0BEbw

我的 proxy.json 文件是:

{
   "target-url": "http://localhost:7005",
   "bind-address":"0.0.0.0",
   "http-port":"8080",
   "applications":[
      {
        "base-path":"/",
        "adapter-config":{
            "realm":"realm",
            "resource":"realm_ui",
            "auth-server-url":"http://localhost:8800/auth",
            "ssl-required":"external",
            "credentials": {
             "secret":"secret"
            },
            "confidential-port":0
        },
        "constraints":[
            {
               "pattern":"/*",
               "roles-allowed":[
                  "user"
               ]
            }
         ]
      }
   ]
}

在钥匙斗篷中:

Access Type: confidential
Standard Flow Enabled: ON
Direct Access Grands: ON
The Valid Redirect URI: * 

经过一段时间的搜索,我找到了解决方案。这是一个网络问题。 Keycloak OpenIDConnect 身份验证流程分为 3 个步骤,如下所述:https://www.keycloak.org/docs/3.3/server_admin/topics/sso-protocols/oidc.html https://www.keycloak.org/docs/3.3/server_admin/topics/sso-protocols/oidc.html

步骤 1 和 2 已完成,但在从浏览器接收到临时代码后,应用程序无法与 Keycloak 连接。在步骤 1 和 2 中,始终是浏览器连接到应用程序或 Keycloak,而不是它们相互通信。

发生这种情况是因为在我的 docker-compose 文件中,我声明了覆盖 Keycloak 和代理到 0.0.0.0 的自动绑定的网络。此外,连接到 Keycloak 的 auth-server-url 对于浏览器以及 Keycloak 安全代理的 docker 容器必须为 true。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker 中的 Keycloak“无法将代码转换为令牌” 的相关文章

随机推荐

  • 美丽的汤 - urllib.error.HTTPError:HTTP 错误 403:禁止

    我正在尝试下载 GIF 文件urrlib 但它抛出了这个错误 urllib error HTTPError HTTP Error 403 Forbidden 当我从其他博客网站下载时 不会发生这种情况 这是我的代码 import reque
  • 在 Pascal 中将文本文件中的字符串读入数组

    使用这个程序 我试图读取一个文件并将其随机打印到控制台 我想知道是否必须使用数组 例如 我可以将字符串分配到一个数组中 然后从数组中随机打印 但是 我不确定如何解决这个问题 另一个问题是 我当前的程序没有从我的文件中读取第一行 我有一个文本
  • 两个人同时在 git 中处理一个文件[重复]

    这个问题在这里已经有答案了 可能的重复 当两个对等点同时将更改推送到同一个远程时 git 如何工作 https stackoverflow com questions 4643998 how git works when two peers
  • 如何在 React 中实现拖放行为

    我正在尝试使用 React 和实现拖放行为反应美丽 dnd https github com atlassian react beautiful dnd图书馆 我想使用选择一些图像反应 dropzone https react dropzo
  • Python setup.py:data_files无法复制“目录”:不存在或不是常规文件

    我有以下 python 项目结构 setup py doc file css file html file js src matlabsources
  • ValueError:缺少“favicon.ico”的静态文件清单条目

    我得到了一个ValueError跑步时python manage py test 我的项目名为fellow go 我目前正在开发一个名为pickup 请注意 此错误是在最近对 Django 的提交中添加的 已修复 24452 修复了 Has
  • 从不同的程序集中动态加载类(具有自定义行为)?

    我们正在为少数客户构建应用程序 每个客户都有自己的要求以及类似的要求 我们还希望将所有代码保留在同一个应用程序中 而不是对其进行分支 并且 IF 不是一个好的选择 因为它会遍布各处 我计划为所有人开设基础课程 然后每个客户都会有自己的类 其
  • 即使更改内容后,Chrome 扩展程序弹出窗口也会重置

    在我的 chrome 扩展中 我必须从背景更改弹出 html 更改会影响然后 再次单击扩展图标后 将显示未更改的弹出窗口 为什么 每次您单击远离弹出窗口时 该窗口都会重置 解决此问题的一种方法是使用后台页面来存储会话数据 在 popup j
  • 如何从 Graph Explorer 查询另一个 Azure Active Directory 租户

    我正在使用 Azure Graph API 资源管理器 我想查询租户中的应用程序列表 我是tenant x 最初创建用户的位置 中的用户 也是tenant y 后来与我的用户创建的 中的管理员 据我所知 当我登录时 我直接进入原始租户 即t
  • 使用rapidjson设置浮点精度

    有没有办法控制使用rapidjson生成的JSON的输出精度 例如 writer String length writer Double 1 0 3 0 这会生成类似以下内容的内容 length 0 33333333 我发送了很多值 并且几
  • 如何使小部件溢出以使滚动条出现在 Qt 中?

    我的小部件的结构是 QWidget 定制为带有圆角边框的面板 要在边界内包含一个带有滚动条并带有边距的区域 然后我将其放入其中 QScrollArea 与 QVBoxLayout 垂直添加内容 然后我在其中添加一系列 标题间距为 0 的 Q
  • 从 C# 程序集中执行 JavaScript

    我想从 C 程序集中执行 JavaScript 代码 并将 JavaScript 代码的结果返回到调用 C 代码 定义我不想做的事情更容易 我并不是试图从我的代码隐藏中调用网页上的 JavaScript 函数 我不想加载 WebBrowse
  • 在 Windows 上使用 PHP 进行分叉/线程的最佳方法是什么?

    我有一个 php 脚本 用于检查许多 数千个 网站上的更新 有时 随着站点数量的增加 情况会更频繁 我在更新其中一个站点时会遇到执行超时 整个脚本都会付诸东流 我能想到的最好的想法是分叉每个更新 所以如果它死了 整体更新就会继续 从我收集到
  • subject.next 不在 ngOnInit 中触发

    有谁知道为什么这段代码 从主题初始化一个值 不起作用 是否存在错误或设计使然 我究竟做错了什么 ts import Component OnInit from angular core import Subject from rxjs Co
  • 载波扩展白名单不工作

    这是一个类似的案例 但没有解决方案CarrierWave extension white list 似乎不起作用 https stackoverflow com questions 11348510 carrierwave extensio
  • 使用 JDK8 时,LogManager.getLogger 会使应用程序停止大约 10-30 秒:

    更新 1 我做了更多测试 删除了大部分库并注释掉了库特定代码 导致了相同的行为 这让我得出结论 这个问题不是 直接 由这些库引起的 但似乎是我的一个普遍问题代码和 或设置 这里的主要问题是我不明白为什么它在从 Eclipse 内部启动时运行
  • 我的 on_member_join 事件不起作用。我尝试了意图,但它给出了这个错误

    考虑 最近一次通话最后 文件 randomgg py 第 1271 行 位于 u003cmodule u003e 中客户端 运行 令牌 文件 usr local lib python3 8 site packages discord cli
  • 如何在 javadoc 编译期间抑制警告(代码库范围内)?

    我被困在一个遗留的 Java 代码库中 当你编译它时 它有数千个警告 我很想真正修复所有这些警告的来源 但不幸的是 目前在我的公司这不是一个选择 负责人认为 制造可产生收入的新产品 等其他事情被认为是更优先的事情 想象一下 现在 如果不是因
  • 用子矩阵替换 numpy 矩阵元素

    鉴于我有一个索引方阵 例如 idxs np array 1 1 0 1 以及彼此大小相同的方阵数组 不一定与idxs mats array 0 0 0 0 5 1 0 3 1 1 我想替换每个索引idxs对应的矩阵为mats 得到 arra
  • Docker 中的 Keycloak“无法将代码转换为令牌”

    我正在 Docker compose 网络中运行 Keycloak keycloak Security Proxy 和 ui 应用程序 当我尝试访问该网页时 我得到一个可以使用的登录页面 但我没有成功重定向 而是收到以下错误 gt Aug