6.4.3. 使用要部署的脚本创建 JAR


注意

JAR 文件是带有 .jar 扩展名的常规 ZIP 文件。

为了让脚本可用于红帽构建的 Keycloak,您需要将它们部署到服务器中。为此,您应该创建一个具有以下结构的 JAR 文件:

META-INF/keycloak-scripts.json

my-script-authenticator.js
my-script-policy.js
my-script-mapper.js

META-INF/keycloak-scripts.json 是一个文件描述符,提供有关您要部署的脚本的元数据信息。它是具有以下结构的 JSON 文件:

{
    "authenticators": [
        {
            "name": "My Authenticator",
            "fileName": "my-script-authenticator.js",
            "description": "My Authenticator from a JS file"
        }
    ],
    "policies": [
        {
            "name": "My Policy",
            "fileName": "my-script-policy.js",
            "description": "My Policy from a JS file"
        }
    ],
    "mappers": [
        {
            "name": "My Mapper",
            "fileName": "my-script-mapper.js",
            "description": "My Mapper from a JS file"
        }
    ],
    "saml-mappers": [
        {
            "name": "My Mapper",
            "fileName": "my-script-mapper.js",
            "description": "My Mapper from a JS file"
        }
    ]
}

此文件应引用您要部署的不同类型的脚本供应商:

  • authenticators

    用于 OpenID Connect 脚本身份验证器。您可以在同一 JAR 文件中具有一个或多个验证器

  • policies

    对于使用红帽构建的 Keycloak 授权服务时的 JavaScript 策略。在同一 JAR 文件中可以拥有一个或多个策略

  • mappers

    用于 OpenID Connect 脚本协议映射程序。您可以在同一 JAR 文件中具有一个或多个映射程序

  • saml-mappers

    对于 SAML 脚本协议映射程序。您可以在同一 JAR 文件中具有一个或多个映射程序

对于 JAR 文件中的每个脚本文件,您需要在 META-INF/keycloak-scripts.json 中对应的条目,用于将脚本文件映射到特定的提供程序类型。为此,您应该为每个条目提供以下属性:

  • name

    通过红帽构建的 Keycloak 管理控制台来显示脚本的友好名称。如果没有提供,则使用脚本文件的名称替代

  • description

    更好地描述脚本文件计划的可选文本

  • fileName

    脚本文件的名称。此属性 是必需的,应映射到 JAR 中的文件。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部