ユーザーは個々のアプリケーションではなく、Keycloak で認証を行います。つまり、アプリケーションはログインフォーム、ユーザー認証、ユーザーの保存を処理する必要がありません。Keycloak にログインすると、ユーザーは別のアプリケーションにアクセスするためにもう一度ログインする必要はありません。
これはログアウトにも当てはまります。Keycloak はシングルサインアウトを提供しており、ユーザーは一度ログアウトするだけで、Keycloak を使用するすべてのアプリケーションからログアウトできます。
ソーシャルネットワークでのログインを有効にすることは、管理コンソールを通じて簡単に追加できます。追加したいソーシャルネットワークを選択するだけです。コードやアプリケーションへの変更は必要ありません。
Keycloak は、既存の OpenID Connect または SAML 2.0 アイデンティティプロバイダーでユーザーを認証することもできます。これも、管理コンソールを通じてアイデンティティプロバイダーを設定するだけです。
Keycloak には、既存の LDAP または Active Directory サーバーに接続するための組み込みサポートがあります。リレーショナルデータベースなど、他のストアにユーザーがいる場合は、独自のプロバイダーを実装することもできます。
管理者は、管理コンソールを通じて Keycloak サーバーのすべての側面を一元的に管理できます。
さまざまな機能を有効および無効にできます。アイデンティティブローカリングとユーザーフェデレーションを設定できます。
アプリケーションとサービスを作成および管理し、きめ細かい認可ポリシーを定義できます。
また、アクセス許可やセッションなど、ユーザーを管理することもできます。
アカウント管理コンソールを通じて、ユーザーは自分のアカウントを管理できます。プロフィールの更新、パスワードの変更、二要素認証の設定を行うことができます。
ユーザーは、アカウントの履歴を表示するだけでなく、セッションを管理することもできます。
ソーシャルログインまたはアイデンティティブローカリングを有効にしている場合、ユーザーは追加のプロバイダーとアカウントをリンクして、異なるアイデンティティプロバイダーで同じアカウントを認証できるようにすることもできます。
Keycloak は標準プロトコルに基づいており、OpenID Connect、OAuth 2.0、SAML をサポートしています。
ロールベースの認可ではニーズを満たせない場合、Keycloak はきめ細かい認可サービスも提供します。これにより、Keycloak 管理コンソールからすべてのサービスのアクセス許可を管理し、必要なポリシーを正確に定義することができます。