天道酬勤,学无止境

keycloak

Error when running Keycloak in Docker

I am trying to run Keycloak in Docker, but its throwing an error. Here's the docker file: FROM jboss/keycloak:4.1.0.Final WORKDIR /opt/jboss/keycloak COPY realm-export.json initial_data.json RUN ./bin/standalone.sh -Dkeycloak.migration.action=import -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file=initial_data.json -Dkeycloak.migration.strategy=OVERWRITE_EXISTING I am using that realm-export.json file because I have some configurations there. And the error that is showing is this one: 12:04:35,033 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 48) MSC000001

2022-01-18 04:42:48    分类:问答    docker   docker-compose   dockerfile   keycloak

Keycloak Admin Console showing a blank page

I have configured a Keycloak server with Apache at the front acting as a reverse proxy. Keycloak is running on http mode only, all the SSL is being handled by Apache. I've configured the whole system according to the official Keycloak docs. The problem I'm facing is, on accessing the Keycloak admin console from a machine other than localhost, the page is blank (except the navbar). On accessing from the machine on which it is hosted (localhost), it works fine, but on accessing from any other machine it just shows a blank page. The server also does not throw any error. I'm attaching an image of

2022-01-18 04:06:59    分类:问答    javascript   angular   apache   frontend   keycloak

如何在 Keycloak 资源中添加 HTTP 方法进行授权(无适配器)(How to add HTTP methods in Keycloak resources for Authorization (Without adapters))

问题 当使用 Keycloak 进行授权时,它允许创建受保护的资源。 但它只允许定义 URI。 我怎样才能为资源添加 HTTP 方法? 尽管政策执行者似乎允许我们定义这些细节,但 Keycloak 是如何将 HTTP 方法与资源映射的呢? 提前致谢。 回答1 如果希望范围映射到 HTTP 方法,则需要将http-method-as-scope为 true。 您可以在此处查看策略执行器文档 使用 spring-boot 适配器,您可以设置keycloak.policy-enforcer-config.http-method-as-scope=true并且您的资源将与 GET、PUT、POST、DELETE 等范围相关联。

2022-01-16 17:57:18    分类:技术分享    keycloak

使用 GoogleCloud Run 运行 Keycloak(Run Keycloak with GoogleCloud Run)

问题 我目前正在使用 kubernetes 运行 keycloak,没有任何问题。 一切都按预期工作,但我想切换到云运行(完全托管),现在 keycloak 给我带来了一些问题: 我注意到在云运行中您无法通过 tcp 连接到 mysql 数据库(google sql 第二代),但我没有找到任何有关如何设置 keycloak 以使用套接字连接的文档。 目前这可以通过keycloak实现吗? 回答1 您可能应该在 Keycloak 的社区论坛上询问如何配置它以使用本地 Unix 域套接字连接到 MySQL。 还值得注意的是,某些类型的应用程序适合 Cloud Run,您应该评估 Keycloak 是否符合这些要求: 基于 HTTP 的流量(HTTP1/2、gRPC 等)、其他类型的流量(例如任意 TCP、UDP)将不起作用。 没有 sidecar 容器(Kubernetes 支持,但 Cloud Run 不支持) 无状态应用程序:Cloud Run 会将您的应用程序扩展到多个实例,或者由于不活动(没有传入请求)而将其终止,Keycloak 必须能够容忍这一点。 无后台处理:当没有 HTTP 请求正在处理时,应用程序容器被挂起。 如果 Keycloak 依赖于始终在后台运行的容器,它就无法工作。 本地磁盘空间计入内存。 Keycloak 声称它至少需要 1G 磁盘空间。 在 Cloud

2022-01-16 08:27:46    分类:技术分享    google-cloud-platform   keycloak   google-cloud-run

使用 org.keycloak.authentication.authenticators.broker.util 中的类时提供程序 jar 中的 NoClassDefFoundError(NoClassDefFoundError in a provider jar when using a class from org.keycloak.authentication.authenticators.broker.util)

问题 我正在为 keycloak 编写一个 Authenticator 提供程序,我将其打包为.jar 。 一旦它使用来自 keycloak-services 的类,我就会得到一个NoClassDefFoundError 。 当通过“ mvn wildfly:deploy ”部署提供程序时,我得到了同样的错误。 我一定是遗漏了一些东西,但我很少编写 java 代码,此时我一无所知。 我在 pom.xml 中定义了依赖项,并尝试了“提供”和“编译”作为范围: <dependencies> <dependency> <groupId>org.keycloak</groupId> <artifactId>keycloak-core</artifactId> <scope>provided</scope> <version>${keycloak.version}</version> </dependency> <dependency> <groupId>org.keycloak</groupId> <artifactId>keycloak-server-spi</artifactId> <scope>provided</scope> <version>${keycloak.version}</version> </dependency> <dependency> <groupId>org

2022-01-16 06:03:26    分类:技术分享    java   jar   keycloak

Keycloak 重定向 URI 给出 ​​https://localhost 而不是 http://localhost(Keycloak redirect URI gives https://localhost instead of http://localhost)

问题 我正在尝试在 Keycloak 上验证 Cordova Android 应用程序。 我之前提出了一个关于它的问题,但我在这里将其缩减为基本要素,因为我在过去 2-3 天内发现了很多。 网页在 Cordova Android 应用程序中不可用 尽管理论上它应该传回 http://localhost/x/y/z 我得到的是 https://localhost/x/y/z 这导致身份验证失败。 在 keycloak.js 中: ref.addEventListener('loaderror', function(event) { if (!completed) { if (event.url.indexOf('http://localhost') == 0) { var callback = parseCallback(event.url); processCallback(callback, promise); closeBrowser(); completed = true; } else { promise.setError(); closeBrowser(); } } }); 由于我的本地主机将访问 https://,而不是 http://,因此引发了此错误 这是一个示例返回: https://localhost/#state=3bc5b8e8-ee17-4c78-861c

2022-01-16 06:02:45    分类:技术分享    java   cordova   jboss   wildfly   keycloak

使用 Docker 时未加载 Keycloak SPI 提供程序和层(Keycloak SPI Providers and layers not loading when using Docker)

问题 我正在尝试使用一些自定义内容(例如 logback 扩展)设置 docker 映像,因此我有一些 CLI 脚本,例如: /subsystem=logging: remove() /extension=org.jboss.as.logging: remove() /extension=com.custom.logback: add() /subsystem=com.custom.logback: add() 我还有 CLI 脚本来配置数据源池、主题、在keycloak-server子系统上添加一些 SPI 等。我将这些脚本放在/opt/jboss/startup-scripts目录中。 但是,当我创建容器时,事情并不顺利。 脚本未按预期加载,keycloak 以错误开始,未加载领域使用的密码策略等提供程序。 当我使用独立的 Keycloak 时,所有 SPI 提供程序都可以正常加载,如下所示: 2019-07-25 18:27:07.906 WARN [org.keycloak.services] (ServerService Thread Pool -- 65) KC-SERVICES0047: custom-password-policy (com.custom.login.password.PasswordSecurityPolicyFactory) is

2022-01-16 05:26:02    分类:技术分享    docker   wildfly   keycloak

Keycloak:找不到客户端异常?(Keycloak : Client not found exception?)

问题 我设置了 Keycloak 服务器,一切都在服务器机器上运行良好,但是当我尝试将 Keycloak 与本地机器(localhost)集成时,我得到了 很抱歉...找不到客户。 即使我检查了我的本地机器 ip 地址并添加到Keycloak->Clients->Settings->Valid Redirect URIs即使这样我也遇到了同样的异常。 回答1 错误消息表明客户端应用程序的客户端 ID 和领域与 Keycloak 服务器上配置的客户端不匹配。 请检查准确的(区分大小写)拼写。 客户端 ID (在Keycloak -> Clients -> Settings中)需要匹配客户端上的资源,并且名称(在Realm Settings -> General中)需要匹配客户端上的领域。 您也可以去客户端 -> 安装 -> 格式化 JSON并查看 JSON 配置。 我将其简化为两个相关条目。 { "realm": "...", "resource": "...", ... }

2022-01-16 05:17:16    分类:技术分享    keycloak

Keycloak : Client not found exception?

I setup Keycloak server and everything run fine in server machine,But when i tried to integrate Keycloak with local machine(localhost) i am getting We're sorry ... Client not found. Even i check my local machine ip address and added in Keycloak->Clients->Settings->Valid Redirect URIs even then i am getting same exception.

2022-01-16 00:33:23    分类:问答    keycloak

如何将 Keycloak 配置为默认使用 HMAC 算法而不是 RSA?(How can I configure Keycloak to use HMAC algorithm as default instead of RSA?)

问题 我在 Keycloak 和管理选项卡 Keys -> Active 中创建了一个新领域,我可以看到三个条目:RSA、HMAC、AES。 每当生成 JWT 令牌时,使用的签名算法都是 RSA。 如何改用 HMAC? 回答1 我有同样的问题,并找到了以下答案: 最新的文档说访问令牌仅支持 rsa。 (http://www.keycloak.org/docs/3.3/server_admin/topics/realms/keys.html) 有计划使用 hmac 签署刷新令牌。 查看此用户邮件列表条目以获取更多详细信息:“无论如何,通过 HMAC 签署 accessTokens 和 idTokens 并不是很好,因为应用程序需要访问领域签名密钥。因为它是对称的东西。这可能是安全漏洞" http://lists.jboss.org/pipermail/keycloak-user/2017-May/010809.html 这是它的 JIRA:https://issues.jboss.org/browse/KEYCLOAK-4623 和内部 https://issues.jboss.org/browse/KEYCLOAK-4622

2022-01-15 23:46:56    分类:技术分享    single-sign-on   keycloak