This documentation is for a release that is no longer maintained
See documentation for the latest supported version.2.3. 创建自定义转换器,将来自 Red Hat Single-Sign On (RHSSO)的用户置备到软件目录
要自定义 RHSSO 用户和组如何映射到 Red Hat Developer Hub 实体,您可以创建一个使用 keycloakTransformerExtensionPoint
的后端模块来为 Keycloak 后端提供自定义用户和组转换器。
流程
-
使用
yarn 新命令
创建一个新的 backend 模块。 将自定义用户和组转换器添加到
keycloakTransformerExtensionPoint
中。以下是如何定义 backend 模块的示例:
plugins/<module-name>/src/module.ts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要模块的
pluginId
必须设置为catalog
以匹配keycloak-backend
的pluginId
;否则,模块无法初始化。将此新后端模块安装到 Developer Hub 后端中。
backend.add(import(backstage-plugin-catalog-backend-module-keycloak-transformer))
backend.add(import(backstage-plugin-catalog-backend-module-keycloak-transformer))
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
Developer Hub 每次启动时都会导入用户和组。检查控制台日志,以验证同步是否已完成。
成功同步示例:
{"class":"KeycloakOrgEntityProvider","level":"info","message":"Read 3 Keycloak users and 2 Keycloak groups in 1.5 seconds. Committing...","plugin":"catalog","service":"backstage","taskId":"KeycloakOrgEntityProvider:default:refresh","taskInstanceId":"bf0467ff-8ac4-4702-911c-380270e44dea","timestamp":"2024-09-25 13:58:04"} {"class":"KeycloakOrgEntityProvider","level":"info","message":"Committed 3 Keycloak users and 2 Keycloak groups in 0.0 seconds.","plugin":"catalog","service":"backstage","taskId":"KeycloakOrgEntityProvider:default:refresh","taskInstanceId":"bf0467ff-8ac4-4702-911c-380270e44dea","timestamp":"2024-09-25 13:58:04"}
{"class":"KeycloakOrgEntityProvider","level":"info","message":"Read 3 Keycloak users and 2 Keycloak groups in 1.5 seconds. Committing...","plugin":"catalog","service":"backstage","taskId":"KeycloakOrgEntityProvider:default:refresh","taskInstanceId":"bf0467ff-8ac4-4702-911c-380270e44dea","timestamp":"2024-09-25 13:58:04"} {"class":"KeycloakOrgEntityProvider","level":"info","message":"Committed 3 Keycloak users and 2 Keycloak groups in 0.0 seconds.","plugin":"catalog","service":"backstage","taskId":"KeycloakOrgEntityProvider:default:refresh","taskInstanceId":"bf0467ff-8ac4-4702-911c-380270e44dea","timestamp":"2024-09-25 13:58:04"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 完成第一次导入后,导航到 Catalog 页面,再选择 User 来查看用户列表。
- 当您选择用户时,您会看到从 RHSSO 导入的信息。
- 您可以选择组,查看列表,访问或查看从 RHSSO 导入的信息。
- 您可以使用 RHSSO 帐户登录。