我按照这个Keycloak指南来保护一个Java的桌面应用程序。我已经按照规定设置了客户端:
在我的应用程序中,当我调用< code>loginDesktop()时,我让浏览器html" target="_blank">登录,并且我可以正确地登录。但是在登录之后,重定向页面显示“我们很抱歉。找不到页面”:
其他信息:Keycloak服务器托管在Google Cloud Run上,并使用Google CloudSQL Postgres实例进行持久性。Keycloak的docker映像使用Keycloak版本16.1.1。我使用Google CloudSQL代理连接到Postgres。持久性工作正常——我可以在整个运行过程中登录。
任何帮助,不胜感激。
如果您使用的是最新指南,它适用于keycloak 17。
版本17的keycloak服务器的默认url发生了变化(使用Quarkus发行版,实际上,这是keycloak17的默认值):https://www.keycloak.org/migration/migrating-to-quarkus
对您来说,这意味着您的 keycloak 服务器部署在 /auth
路径上,因此,在您的配置中:
{
"realm": "desktop-app-auth",
"auth-server-url": "http://localhost:8081/auth",
"ssl-required": "external",
"resource": "desktop-app",
"public-client": true,
"use-resource-role-mappings": true,
"enable-pkce": true
}
auth-server-url
应该有 /auth
。
这是Keycloak中公认的错误,从v16版本开始,在v17,v18和v19版本中尚未修复:
在撰写本文时,提议的PR:
修复这个问题还没有被批准,因为他们希望它以不同的方式实现,作为对Keycloak安装Java适配器的修复。(有关于Java适配器被“弃用”的评论,但我不知道这是否准确,因为据说如果提议的修复获得批准,他们将在即将发布的19.02版本中发布修复)
另一个建议的解决方案似乎是编译自定义版本的Keycloak Server(或至少自定义KeycloakInstatedJava适配器)。该解决方法的说明(我没有尝试过)在这篇堆栈溢出文章中
我假设我一路上错误地配置了什么,但我不知道是什么。 我按照以下说明在反向代理后面的KeyCloak6中设置SSL: https://www.keycloak.org/docs/latest/server_installation/index.html#设置-up-https-ssl
问题内容: 我有一个非常大的程序,当前正在使用SWT。该程序可以在Windows,Mac和Linux上运行,它是一个包含许多元素的大型桌面应用程序。现在SWT有点老了,我想切换到Swing或JavaFX。我想听听您对三件事的想法。 我主要关心的是桌面GUI应用程序会更好吗?(我在网上看过,很多人认为JavaFX与Swing一样好,但是除了简单的见解大战之外,我没有看到很多有效的论点)。它必须在Wi
GUI 应用的字母列表。 Camelot Camelot 受 Django 管理界面的启发,在 Python 、 SQLAlchemy 和 Qt 的基础上提供了各种组件来构建应用。 可用的参考资源主要是其网站 : http://www.python-camelot.com 和邮件列表 https://groups.google.com/forum/ Cocoa NoteCocoa 框架仅用于 OS
CloudwareHub 云件平台,运行在云端,使用浏览器作为输入输出终端,所有软件无需在本地安装,只需几秒钟,即可开启Cloudware之旅。CloudwareHub 的后台由 DaoCloud 驱动。
桌面应用 Clojure 可以创建基于Swing的GUI程序。下面是一个简单的例子, 用户可以输入他们的名字,然后点击“Greet:按钮,然后它会弹出一个对话框显示一个欢迎信息。可以关注一下这里我们使用了 proxy 宏来创建一个集成某个指定类 ( JFrame )并且实现了一些java接口 (这里只有 ActionListener 一个接口)的对象。. (ns com.ociweb.swing
巧妙地使用I/O重定向可以解析和粘合命令输出的各个片断 (参考 例子 11-7). 这样就可以产生报告性的文件和日志文件. 例子 16-12. 事件记录 1 #!/bin/bash 2 # logevents.sh, Stephane Chazelas编写. 3 4 # 把事件记录在一个文件. 5 # 必须以root身份运行 (这样才有权限存取 /var/log).
“使用桌面应用程序并登录时,Facebook会将人们重定向到上述redirect_uri,并在URI片段中放置访问令牌以及其他一些元数据(例如令牌过期时间): https://www.facebook.com/connect/login_success.html#access\u token=access\u token。。。您的应用程序需要检测此重定向,然后使用您使用的操作系统和开发框架提供的机
在学习这本书的过程中,你已经掌握了很多关于 Git 的命令。虽然这些是在学习过程中不可缺少的,但是版本控制的核心并不是让你学习所有的命令和参数。 当你掌握一些基本的概念,再加上一个带有用户图形界面的应用程序的帮助,就可以让你的日常工作变得更加简单。一个最大的好处就是它会为你提供了一个可视化的用户操作界面。 在桌面应用程序中,很多任务使用起来会更加容易和更方便。并且你也不需要记住那几十个繁琐的 Gi