3.9. API リファレンス


3.9.1. コンストラクター

アダプターの構築方法としては、設定を直接渡す方法が推奨されます。

new Keycloak({
    url: "http://keycloak-server",
    realm: "my-realm",
    clientId: "my-app"
});
Copy to Clipboard Toggle word wrap

代わりに、設定が含まれる JSON ファイルへの URL を渡すこともできます。

new Keycloak("http://your-app/adapter-config.json");
Copy to Clipboard Toggle word wrap

JSON 設定ファイルには、次のフィールドが含まれている必要があります。

{
    "auth-server-url": "https://auth.example.com",
    "realm": "my-realm",
    "resource": "my-app"
}
Copy to Clipboard Toggle word wrap

JSON 設定ファイルを使用すると、初期化の前に追加のリクエストがトリガーされるため、パフォーマンス上の理由から推奨されないことに注意してください。

3.9.2. プロパティー

authenticated
ユーザーが認証されている場合は true、そうでない場合は false です。
token
サービスへのリクエストで Authorization ヘッダーで送ることができる base64 エンコードされたトークン。
tokenParsed
解析されたトークンを JavaScript オブジェクトとして実行します。
subject
ユーザー id
idToken
base64 でエンコードされた ID トークン。
idTokenParsed
解析された id トークンを JavaScript オブジェクトとして実行します。
realmAccess
トークンに関連付けられたレルムロール。
resourceAccess
トークンに関連付けられたリソースロール。
refreshToken
新しいトークンの取得に使用できる base64 でエンコードされた更新トークン。
refreshTokenParsed
JavaScript オブジェクトとして解析された更新トークン。
timeSkew
ブラウザー時間と Red Hat build of Keycloak サーバー間の推定時間差 (秒単位)。この値は見積りませんが、トークンの有効期限が切れているかどうかを判断します。
responseMode
init で渡されるレスポンスモード (デフォルト値は fragment)。
flow
init に渡されるフロー。
adapter

リダイレクトする方法と、その他のブラウザー関連の機能がライブラリーによって処理される方法をオーバーライドできます。利用可能なオプション:

  • "default" - ライブラリーがリダイレクトにブラウザー api を使用します (これがデフォルトです)。
  • "cordova" - ライブラリーは、InAppBrowser cordova プラグインを使用して keycloak のログイン/登録ページのロードを試みます (ライブラリーが cordova エコシステムで動作している場合、このオプションが自動的に使用されます)
  • "cordova-native" - ライブラリーは、BrowserTabs cordova プラグインを使用して、電話のシステムブラウザーでログインおよび登録ページを開くことを試みます。これには、アプリケーションにリダイレクトするための追加のセットアップが必要です (「Cordova でのハイブリッドアプリケーション」 を参照)。
  • "custom" - カスタムアダプターを実装できます (高度な使用ケースのみ)。
responseType
ログインリクエストとともに Red Hat build of Keycloak に送信される応答タイプ。これは初期化時に使用されるフロー値に基づいて決定されますが、この値を設定するとオーバーライドできます。

3.9.3. メソッド

init(options)

アダプターを初期化するために呼び出されます。

オプションはオブジェクトです。ここでは、以下のようになります。

  • useNonce - 暗号化ナンスを追加して、認証応答がリクエストと一致することを確認します (デフォルトは true)。
  • onLoad - 読み込み時に実行するアクションを指定します。サポートされている値は、login-required または check-sso です。
  • redirectUri - ログインまたはログアウト後にリダイレクトするデフォルトの URI を指定します。これは現在、'cordova-native' および 'default' のアダプターでサポートされています。
  • silentCheckSsoRedirectUri - onLoad が 'check-sso' に設定されている場合に、サイレント認証チェックのリダイレクト URI を設定します。
  • silentCheckSsoFallback: サイレント check-sso がブラウザーでサポートされない場合に、通常の check-sso へのフォールバックを有効にします (デフォルトは true)。
  • token - トークンに初期値を設定します。
  • refreshToken - 更新トークンの初期値を設定します。
  • idToken - id トークンに初期値を設定します (トークンまたは refreshToken とともにのみ)。
  • scope - デフォルトのスコープパラメーターを Red Hat build of Keycloak ログインエンドポイントに設定します。スコープのスペースで区切られたリストを使用します。これらは通常、特定のクライアントで定義された クライアントスコープ を参照します。スコープの openid は、アダプターによって常にスコープのリストに追加されることに注意してください。たとえば、スコープオプションの address phone を入力すると、Red Hat build of Keycloak へのリクエストにはスコープパラメーター scope=openid address phone が含まれます。login() オプションでスコープを明示的に指定すると、ここで指定したデフォルトのスコープが上書きされることに注意してください。
  • timeSkew - ローカルタイムと Red Hat build of Keycloak サーバー間のスキュー用に初期値を設定します (トークンと refreshToken の場合のみ)。
  • checkLoginIframe - ログイン状態の監視を有効にするかどうかを設定します (デフォルト値は true)。
  • checkLoginIframeInterval - ログイン状態を確認する間隔を設定します (デフォルトは 5 秒です)。
  • responseMode - ログインリクエスト時に Red Hat build of Keycloak サーバーに送信される OpenID Connect レスポンスモードを設定します。有効な値は query または fragment です。デフォルト値は fragment で、認証に成功した後、OpenID Connect パラメーターを URL フラグメントに追加した JavaScript アプリケーションに Red Hat build of Keycloak がリダイレクトすることを意味します。これは一般的には、より安全で、query を介して推奨されています。
  • flow - OpenID Connect フローを設定します。有効な値は、standardimplicit、または hybrid です。
  • enableLogging - Keycloak からコンソールへのログメッセージを有効にします (デフォルトは false です)。
  • pkceMethod - 使用する Proof Key Code Exchange (PKCE) 方式。この値を設定すると、PKCE メカニズムが有効になります。利用可能なオプション:

    • "S256" - SHA256 ベースの PKCE 方式 (デフォルト)。
    • false - PKCE は無効です。
  • messageReceiveTimeout: Keycloak サーバーからのメッセージ応答を待つタイムアウトをミリ秒単位で設定します。これは、たとえば、サードパーティーの Cookie チェック中に、メッセージを待機するときに使用されます。デフォルト値は 10000 です。
  • locale - onLoad が 'login-required' の場合、OIDC 1.0 仕様のセクション 3.1.2.1 に従って 'ui_locales' クエリーパラメーターを設定します。

初期化の完了時に解決する promise を返します。

login(options)

ログインフォームにリダイレクトし、Promise を返します。

options は任意のオブジェクトです。ここでは、以下のようになります。

  • redirectUri - ログイン後にリダイレクトする URI を指定します。
  • prompt - Red Hat build of Keycloak サーバー側でログインフローを若干カスタマイズできるようにします。たとえば、値が login の場合にログイン画面を表示するように強制します。または、クライアントに Consent Required がある場合に、consent 値の同意画面を強制的に表示します。最後に、値 none を使用して、ログイン画面がユーザーに対して表示されないようにすることができます。これは、ユーザーが以前にすでに認証されている場合に SSO をチェックするのに便利です (これは、上で説明した値 check-sso を使用した onLoad チェックに関連しています)。
  • maxAge - ユーザーがすでに認証されている場合にのみ使用します。ユーザーの認証が発生した時点の最大時間を指定します。ユーザーが maxAge よりも長い期間認証されている場合、SSO は無視されるため、再認証が必要になります。
  • loginHint - ログインフォームの username/email フィールドを事前に入力するのに使用されます。
  • scope - init で設定されたスコープを、この特定ログインの別の値でオーバーライドします。
  • idpHint - Red Hat build of Keycloak に対して、ログインページの表示を省略し、代わりに指定されたアイデンティティープロバイダーに自動的にリダイレクトするように指示するために使用されます。詳細は、アイデンティティープロバイダーのドキュメント を参照してください。
  • acr - acr クレームに関する情報が含まれます。これは、claims パラメーター内で Red Hat build of Keycloak サーバーに送信されます。一般的な用途は、段階的な認証です。使用例: { values: ["silver", "gold"], essential: true }詳細は、OpenID Connect 仕様と ステップアップ認証のドキュメント を参照してください。
  • acrValues - 認証コンテキストクラス参照を参照し、クライアントが必要なアシュアランスレベル要件 (認証メカニズムなど) を宣言できるようにする acr_values パラメーターを生成します。Section 4. acr_values request values and level of assurance in OpenID Connect MODRNA Authentication Profile 1.0 を参照してください。
  • action - 値が register の場合、ユーザーは登録ページにリダイレクトされます。詳細は、クライアントから要求される登録 セクションを参照してください。値が UPDATE_PASSWORD またはサポートされている別の必須アクションの場合、ユーザーはパスワードのリセットページまたはその他の必須アクションページにリダイレクトされます。ただし、ユーザーが認証されていない場合は、ユーザーはログインページへ移動され、認証後にリダイレクトされます。詳細は、アプリケーション起点のアクション セクションを参照してください。
  • locale - OIDC 1.0 仕様のセクション 3.1.2.1 に従って 'ui_locales' クエリーパラメーターを設定します。
  • cordovaOptions - Cordova in-app-browser (該当する場合) に渡される引数を指定します。hidden オプションおよび location オプションは、これらの引数の影響を受けません。利用可能なすべてのオプションは https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-inappbrowser/ で定義されています。使用例: { zoom: "no", hardwareback: "yes" };

createLoginUrl(options)

ログインフォームへの URL を含む Promise を返します。

options は任意のオブジェクトで、関数 login と同じオプションをサポートします。

logout(options)

ログアウトにリダイレクトされます。

オプションはオブジェクトです。ここでは、以下のようになります。

  • redirectUri - ログアウト後にリダイレクトする URI を指定します。

createLogoutUrl(options)

ユーザーをログアウトするための URL を返します。

オプションはオブジェクトです。ここでは、以下のようになります。

  • redirectUri - ログアウト後にリダイレクトする URI を指定します。

register(options)

登録フォームにリダイレクトされます。オプション action = 'register' を使用したログインのショートカット

オプションは login メソッドと同じですが、'action' は 'register' に設定されます。

createRegisterUrl(options)

登録ページへの URL を含む Promise を返します。オプション action = 'register' を持つ createLoginUrl のショートカット

オプションは createLoginUrl メソッドと同じですが、'action' は 'register' に設定されます。

accountManagement()

アカウントコンソールにリダイレクトします。

createAccountUrl(options)

アカウントコンソールへの URL を返します。

オプションはオブジェクトです。ここでは、以下のようになります。

  • redirectUri: アプリケーションにリダイレクトする際にリダイレクトする URI を指定します。

hasRealmRole(role)

トークンに指定のレルムロールがある場合は true を返します。

hasResourceRole(role, resource)

トークンにリソースの指定されたロールがある場合に true を返します (指定の clientId が使用されていない場合、リソースは任意です)。

loadUserProfile()

ユーザープロファイルを読み込みます。

プロファイルで解決する promise を返します。

以下に例を示します。

try {
    const profile = await keycloak.loadUserProfile();
    console.log('Retrieved user profile:', profile);
} catch (error) {
    console.error('Failed to load user profile:', error);
}
Copy to Clipboard Toggle word wrap

isTokenExpired(minValidity)

トークンの有効期限が切れる前にトークンが minValidity 秒未満の場合は true を返します (minValidity は任意であり、指定されていない場合は 0 が使用されます)。

updateToken(minValidity)

トークンが minValidity 秒以内に期限切れになると (minValidity は任意で、指定されていない場合は 5 が使用されます)、トークンが更新されます。-1 が minValidity として渡された場合、トークンは強制的に更新されます。セッションステータスが iframe が有効になっている場合は、セッションステータスもチェックされます。

トークンが更新されているかどうかを示すブール値で解決する promise を返します。

以下に例を示します。

try {
    const refreshed = await keycloak.updateToken(5);
    console.log(refreshed ? 'Token was refreshed' : 'Token is still valid');
} catch (error) {
    console.error('Failed to refresh the token:', error);
}
Copy to Clipboard Toggle word wrap

clearToken()

トークンを含む認証状態を消去します。これは、トークンの更新が失敗した場合など、セッションの期限が切れたことをアプリケーションが検出する場合に役立ちます。

これを呼び出すと、onAuthLogout コールバックリスナーが呼び出されます。

3.9.4. コールバックイベント

アダプターは、特定のイベントの callback リスナーの設定をサポートします。これらは init() メソッドを呼び出す前に設定する必要があることに注意してください。

以下に例を示します。

keycloak.onAuthSuccess = () => console.log('Authenticated!');
Copy to Clipboard Toggle word wrap

利用可能なイベントは以下のとおりです。

  • onReady(authenticated) - アダプターが初期化されると呼び出されます。
  • onAuthSuccess - ユーザーが正常に認証されると呼び出しされます。
  • onAuthError - 認証中にエラーが発生した場合に呼び出しされます。
  • onAuthRefreshSuccess - トークンの更新時に呼び出しされます。
  • onAuthRefreshError - トークンの更新中にエラーが発生した場合に呼び出します。
  • onAuthLogout - ユーザーがログアウトした場合に呼び出されます (セッションステータス iframe が有効になっている場合、または Cordova モードの場合にのみ呼び出されます)。
  • onTokenExpired - アクセストークンの期限が切れたときに呼び出しされます。更新トークンが利用可能な場合、トークンは updateToken で更新できます。利用できない場合 (つまり暗黙的なフローの場合) は、ログイン画面にリダイレクトして新しいアクセストークンを取得できます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat