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 });
var session = require('express-session');
var Keycloak = require('keycloak-connect');
var memoryStore = new session.MemoryStore();
var keycloak = new Keycloak({ store: memoryStore });
默认情况下,这将找到名为 keycloak.json 的文件,以及应用程序的主可执行文件,以初始化特定于 keycloak 的设置(公钥、域名和各种 URL)。keycloak.json 文件从 Red Hat Single Sign-On Admin Console 获取。
通过此方法实例化可导致正在使用的所有默认值。另外,也可以提供配置对象,而不是 keycloak.json 文件:
应用程序也可以使用以下方法将用户重定向到首选身份提供程序:
let keycloak = new Keycloak({ store: memoryStore, idpHint: myIdP }, kcConfig);
let keycloak = new Keycloak({ store: memoryStore, idpHint: myIdP }, kcConfig);
- 配置 web 会话存储
-
如果要使用 Web 会话管理服务器端状态以进行身份验证,则需要使用至少一个
store参数初始化Keycloak (…),传递express-session的实际会话存储。
var session = require('express-session');
var memoryStore = new session.MemoryStore();
var keycloak = new Keycloak({ store: memoryStore });
var session = require('express-session');
var memoryStore = new session.MemoryStore();
var keycloak = new Keycloak({ store: memoryStore });
- 传递自定义范围值
-
默认情况下,scope 值
openid作为参数传递给 Red Hat Single Sign-On 的登录 URL,但您可以添加额外的自定义值:
var keycloak = new Keycloak({ scope: 'offline_access' });
var keycloak = new Keycloak({ scope: 'offline_access' });