Skip to content

Keycloak Sandbox 双沙箱环境

项目简介

Keycloak Sandbox 沙箱项目是面向开发者打造的一站式 Keycloak SPI 开发环境,支持快速开发、测试和部署 Keycloak 服务提供者接口(SPI)。本项目提供完整的开发基座、多版本支持和内置沙箱环境,旨在帮助开发者快速构建、定制和部署符合企业需求的 Keycloak 扩展。

项目基于 Maven 多模块架构,提供 Docker 版和 Release 版两种沙箱环境,支持任意 Keycloak 版本切换,同时内置多个 SPI 开发示例,大幅提升 Keycloak 扩展开发效率。

沙箱类型

根据您的需求,选择适合的沙箱环境:

Docker 版沙箱

  • 功能:基于 Docker 容器运行 Keycloak 服务,适合需要隔离环境的开发者
  • 环境要求:需要安装 Docker 和 Docker Compose
  • 核心特性:支持任意 Keycloak 版本,一键启动和停止,环境隔离性好
  • 使用方式:通过 IDE 直接运行启动类或使用 Maven 命令
  • 界面预览

Keycloak Sandbox 界面

Release 版沙箱

  • 功能:基于本地安装的 Keycloak 运行服务,适合需要更直接访问文件系统的开发者
  • 环境要求:仅需要 JDK 和 Maven
  • 核心特性:支持任意 Keycloak 版本,一键启动和停止,访问文件系统方便
  • 使用方式:通过 IDE 直接运行启动类或使用 Maven 命令
  • 界面预览

Keycloak Sandbox 界面

版本对比

对比项Docker 版沙箱Release 版沙箱
环境要求Docker + Docker ComposeJDK + Maven
启动速度首次启动较慢(需要下载镜像)首次启动较慢(需要下载 Release 包)
环境隔离一般
文件系统访问较复杂(需要挂载卷)简单(直接访问本地文件)
配置灵活性高(通过 Docker Compose 配置)高(直接修改配置文件)
适用场景隔离环境开发、多版本并行测试本地开发、需要频繁修改配置

核心功能

Keycloak Sandbox 沙箱项目

核心开发功能:

专为企业级 Keycloak 扩展开发深度打造,一站式重构 SPI 开发流程,开箱即用、零门槛适配多版本 Keycloak,完美支撑开发、测试、部署全流程需求,解决 Keycloak 版本切换复杂、SPI 开发调试困难等核心痛点。

  • 01:多版本 Keycloak 支持 — 全局仅需在一个地方配置 Keycloak 版本,实现全局版本控制,开发者可根据项目需求灵活选择目标版本,无需担心版本兼容性问题,大幅提升开发适配效率。
  • 02:双沙箱环境集成 — 内置两个沙箱环境:Docker 版沙箱和 Release 版沙箱,均支持启动类和停止类,可在 IDE 中右键直接运行 main 方法,方便快速开发和启动。
  • 03:SPI 一键打包发布 — 提供 SPI 一键打包功能,支持打包类,可在 IDE 中右键直接运行 main 方法,自动将开发的 SPI 打包为 JAR 并发布到指定的沙箱环境,简化部署流程。
  • 04:内置 SPI 开发示例 — 提供 3 个 SPI 开发示例:事件监听器扩展、国密算法扩展、用户存储扩展,覆盖 Keycloak 常见扩展场景,为开发者提供参考实现。
  • 05:标准化项目结构 — 采用 Maven 多模块架构,清晰分离沙箱环境和扩展模块,便于项目管理和代码维护。

技术支持

快速开始

  1. 配置 Keycloak 版本:在父 pom.xml 文件中配置目标 Keycloak 版本
  2. 选择沙箱环境:根据您的需求选择 Docker 版或 Release 版沙箱
  3. 启动沙箱:通过 IDE 直接运行启动类或使用 Maven 命令启动沙箱
  4. 开发 SPI 扩展:选择 SPI 示例模块,修改或添加 SPI 实现
  5. 打包发布:使用扩展打包模块打包并发布 SPI 到沙箱环境
  6. 访问服务:通过 http://localhost:8080 访问 Keycloak 服务
  7. 测试验证:在管理控制台中配置并测试 SPI 功能

注意事项

  • 环境要求:确保 JDK 版本为 11+,Maven 版本为 3.9+(Docker 版沙箱还需要 Docker 环境)
  • 版本配置:根据项目需求在父 pom.xml 文件中配置合适的 Keycloak 版本
  • 首次启动:首次启动沙箱时,会自动下载对应版本的 Docker 镜像或 Release 发行包,可能需要一些时间
  • 默认账号:沙箱环境的默认管理员账号为用户名 root,密码 root
  • 开发测试:本项目仅用于开发和测试目的,不建议在生产环境中使用
  • 扩展定制:可以根据业务需求添加新的 SPI 扩展模块,或修改现有示例
  • 版本切换:切换 Keycloak 版本后,需要重新构建项目并启动沙箱环境
  • 配置修改:根据沙箱类型,修改相应的配置文件以适应您的环境
  • 技术支持:如有技术问题,可联系北京必码科技工作室获取支持
  • 合规使用:确保在使用本项目时遵守相关法律法规和行业规范

免责声明

本项目基于 GitHub 开源软件进行定制化开发,旨在为企业和开发者提供更便捷的项目基座解决方案。使用本项目时,请务必了解以下免责声明:

  1. 开源基础:本项目基于 GitHub 开源软件构建,遵循原开源协议的相关规定。
  2. 定制开发:我们对原开源软件进行了定制和扩展,以提供更优质的开发体验和功能支持。
  3. 责任限制:对于使用本项目可能产生的任何直接或间接的经济损失、数据丢失或其他问题,北京必码科技工作室不承担任何责任。
  4. 使用建议:在生产环境中使用本项目前,请进行充分的测试和验证,确保其符合您的业务需求和安全要求。
  5. 技术支持:我们提供技术支持服务,但不保证解决所有可能出现的问题。
  6. 合规使用:用户应确保在使用本项目时遵守相关法律法规和行业规范,不得用于任何违法或违规用途。