OfficialSPIEvent / Webhook / MessagingActive
keycloak-event-enrichment
AdrianIAna/keycloak-event-enrichment ↗
Enrich authentication events with GeoIP and User-Agent data.認証イベントにGeoIP/User-Agent情報を付与
- ★
- 1
- Forks
- 0
- Contributors
- 2
- Updated
- 2026-09-02
- KC
- 26.7.2
- License
- Apache-2.0
What it can doできること4
- Add GeoIP location (including VPN detection) and parsed User-Agent data (browser, OS, device type) to login/logout/error events before they are stored (
geo_*,ua_*details).ログイン・ログアウト・エラーのイベントに、GeoIPの位置情報(VPN判定を含む)と、User-Agentの解析結果(ブラウザ・OS・端末種別)を保存前に付与(geo_*、ua_*) - Every consumer (Account Console, Admin API, your apps) gets the enriched events automatically.アカウントコンソール・Admin API・自作アプリなど、どこから読んでも付与済みのイベントが得られる
- Enrichment failures never block event persistence.付与に失敗しても、イベントの保存は妨げない
- Pairs with keycloak-account-events to show users their own enriched login history.keycloak-account-eventsと組み合わせると、ユーザー自身に付与済みのログイン履歴を見せられる
What it cannot do / limitsできないこと・制約3
- Admin events are not enriched.Adminイベントには付与しない
- Wraps the built-in JPA event store only.ラップするのは標準のJPAイベントストアのみ
- You must download the MaxMind GeoLite2 databases yourself (free account) and keep them updated.MaxMindのGeoLite2データベースは自分でダウンロード(無料のアカウント登録が必要)し、更新し続ける必要がある
Requirements前提条件
- Copy the shaded JAR to
/opt/keycloak/providers/, place the MMDB files on a persistent path, and runkc.sh buildwith the SPI options.shaded JARを/opt/keycloak/providers/に置き、MMDBファイルを永続的なパスに配置して、SPIオプション付きでkc.sh build