2.3.2. 使用


实例化 Keycloak 类
Keycloak 类为配置和集成提供中央点。最简单的创建涉及参数。
    var session = require('express-session');
    var Keycloak = require('keycloak-connect');

    var memoryStore = new session.MemoryStore();
    var keycloak = new Keycloak({ store: memoryStore });
Copy to Clipboard Toggle word wrap

默认情况下,这将找到名为 keycloak.json 的文件,以及应用程序的主可执行文件,以初始化特定于 keycloak 的设置(公钥、域名和各种 URL)。keycloak.json 文件从 Red Hat Single Sign-On Admin Console 获取。

通过此方法实例化可导致正在使用的所有默认值。另外,也可以提供配置对象,而不是 keycloak.json 文件:

    let kcConfig = {
        clientId: 'myclient',
        bearerOnly: true,
        serverUrl: 'http://localhost:8080/auth',
        realm: 'myrealm',
        realmPublicKey: 'MIIBIjANB...'
    };

    let keycloak = new Keycloak({ store: memoryStore }, kcConfig);
Copy to Clipboard Toggle word wrap

应用程序也可以使用以下方法将用户重定向到首选身份提供程序:

    let keycloak = new Keycloak({ store: memoryStore, idpHint: myIdP }, kcConfig);
Copy to Clipboard Toggle word wrap
配置 web 会话存储
如果要使用 Web 会话管理服务器端状态以进行身份验证,则需要使用至少一个 store 参数初始化 Keycloak (…​),传递 express-session 的实际会话存储。
    var session = require('express-session');
    var memoryStore = new session.MemoryStore();

    var keycloak = new Keycloak({ store: memoryStore });
Copy to Clipboard Toggle word wrap
传递自定义范围值
默认情况下,scope 值 openid 作为参数传递给 Red Hat Single Sign-On 的登录 URL,但您可以添加额外的自定义值:
    var keycloak = new Keycloak({ scope: 'offline_access' });
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat