Keycloak 自定义协议映射器示例教程

Keycloak 自定义协议映射器示例教程

keycloak-custom-protocol-mapper-exampleAn example for building custom keycloak protocol mappers项目地址:https://gitcode.com/gh_mirrors/ke/keycloak-custom-protocol-mapper-example

1. 项目的目录结构及介绍

keycloak-custom-protocol-mapper-example/
├── Dockerfile
├── README.md
├── docker-compose.yml
├── data-setup/
│   ├── Dockerfile
│   ├── src/
│   │   └── main/
│   │       └── java/
│   │           └── DataSetupMain.java
├── protocol-mapper/
│   ├── Dockerfile
│   ├── src/
│   │   └── main/
│   │       └── java/
│   │           └── CustomProtocolMapper.java
  • Dockerfile: 用于构建和部署自定义协议映射器的Docker文件。
  • README.md: 项目说明文档。
  • docker-compose.yml: 用于启动Keycloak实例的Docker Compose配置文件。
  • data-setup/: 用于通过Keycloak的REST API配置Keycloak的项目。
    • Dockerfile: 用于构建data-setup模块的Docker文件。
    • src/: data-setup模块的源代码目录。
      • DataSetupMain.java: 主类,用于配置Keycloak并添加示例数据。
  • protocol-mapper/: 包含自定义协议映射器代码的项目。
    • Dockerfile: 用于构建protocol-mapper模块的Docker文件。
    • src/: protocol-mapper模块的源代码目录。
      • CustomProtocolMapper.java: 自定义协议映射器的主类。

2. 项目的启动文件介绍

docker-compose.yml

version: '3.8'
services:
  keycloak:
    image: jboss/keycloak:latest
    ports:
      - "11080:8080"
    environment:
      - KEYCLOAK_USER=admin
      - KEYCLOAK_PASSWORD=password
    volumes:
      - ./protocol-mapper/target/protocol-mapper.jar:/opt/jboss/keycloak/standalone/deployments/protocol-mapper.jar
    depends_on:
      - data-setup

  data-setup:
    build: ./data-setup
    depends_on:
      - keycloak
  • keycloak: 定义Keycloak服务的配置,包括镜像、端口映射、环境变量和卷挂载。
  • data-setup: 定义data-setup服务的配置,包括构建路径和依赖关系。

Dockerfile (protocol-mapper)

FROM maven:3.6-jdk-11 AS build
COPY src /usr/src/app/src
COPY pom.xml /usr/src/app
RUN mvn -f /usr/src/app/pom.xml clean package

FROM jboss/keycloak:latest
COPY --from=build /usr/src/app/target/protocol-mapper.jar /opt/jboss/keycloak/standalone/deployments/
  • 使用Maven构建自定义协议映射器,并将生成的JAR文件复制到Keycloak实例中。

Dockerfile (data-setup)

FROM maven:3.6-jdk-11 AS build
COPY src /usr/src/app/src
COPY pom.xml /usr/src/app
RUN mvn -f /usr/src/app/pom.xml clean package

FROM openjdk:11-jre-slim
COPY --from=build /usr/src/app/target/data-setup.jar /app/data-setup.jar
ENTRYPOINT ["java", "-jar", "/app/data-setup.jar"]
  • 使用Maven构建data-setup模块,并将生成的JAR文件作为容器入口点执行。

3. 项目的配置文件介绍

docker-compose.yml

version: '3.8'
services:
  keycloak:
    image: jboss/keycloak:latest
    ports:
      - "11080:8080"
    environment:
      - KEYCLOAK_USER=admin
      - KEYCLOAK_PASSWORD=password
    volumes:
      - ./protocol-mapper/target/protocol-mapper.jar:/opt/jboss/keycloak/standalone/deployments/protocol-mapper.jar
    depends_on:
      - data-

keycloak-custom-protocol-mapper-exampleAn example for building custom keycloak protocol mappers项目地址:https://gitcode.com/gh_mirrors/ke/keycloak-custom-protocol-mapper-example

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魏真权

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值