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 管理コンソールから取得されます。
この方法を使用したインスタンス化により、妥当なデフォルトがすべて使用されます。または、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 });
- カスタムスコープの値の指定
-
デフォルトでは、スコープ値の
openidはクエリーパラメーターとして Red Hat Single Sign-On のログイン URL に渡されますが、さらにカスタム値を追加することができます。
var keycloak = new Keycloak({ scope: 'offline_access' });
var keycloak = new Keycloak({ scope: 'offline_access' });