MCP cover image

KeyCloak的Event -Provider,用于将用户信息同步到身份注册表API

4

Github Watches

5

Github Forks

8

Github Stars

Java CI with Maven

Maritime Connectivity Platform implementation of Keycloak SPI

Keycloak has a series of Service Provider Interfaces (SPI) that allows for adding new functionality where needed. For Keycloak to work in as the MCP Identity Broker the SPI mentioned below has been implemented.

For setup please refer to the MIR deployment guidelines as well as the information below.

MCP Event Listener

This is an implementation of a Keycloak Event Listener, implementing the Event Listener SPI as described here.

This is used to keep the user database in the MCP Identity Registry API in sync with information fetched during login using the MCP ID Broker. When a user logs in this EventListener will make a call to a REST webservice which includes the user information passed from the users Identity Provider. The webservice call uses a certificate to authenticate itself against the API. The Event Listener is setup by adding mcp-identityregistry-keycloak-spi-latest-jar-with-dependencies.jar in the providers/ folder. The Event Listener can be configured with the following environmental variables:

Variable Description
KC_SPI_EVENTS_LISTENER_MCP_EVENT_LISTENER_SERVER_ROOT The root URL to the MIR API
KC_SPI_EVENTS_LISTENER_MCP_EVENT_LISTENER_KEYSTORE_PATH Path to a keystore that is used to authenticate to the MIR API
KC_SPI_EVENTS_LISTENER_MCP_EVENT_LISTENER_KEYSTORE_PASSWORD The password for the keystore that is used to authenticate to the MIR API
KC_SPI_EVENTS_LISTENER_MCP_EVENT_LISTENER_TRUSTSTORE_PATH Path to a custom truststore. Should only be set if the MIR API is using a TLS certificate that cannot be verified against the built-in truststore
KC_SPI_EVENTS_LISTENER_MCP_EVENT_LISTENER_TRUSTSTORE_PASSWORD Password to the custom truststore that is defined by the previous variable. Should only be set if the previous variable is set
KC_SPI_EVENTS_LISTENER_MCP_EVENT_LISTENER_IDP_NOT_TO_SYNC Comma separated list of identity providers that should not be synchronized on login
KC_SPI_AUTHENTICATOR_CERTIFICATE_CLIENT_CERT_HEADER The HTTP header that the client certificate is put into by the reverse proxy. The default value is "X-Client-Certificate"

The keystore holds the certificate to authenticate the event listener, while the truststore holds the trusted certificate of the Identity Registry API. The truststore should only be needed in test setups where self-signed certificates are used.

After doing the setup as described above, go into the admin console in Keycloak and go to Events in the left side menu. Go to the Config tab, add mcp-event-listener to the Event Listeners and click Save.

Authenticator using X.509 certificates

The purpose of this SPI is to allow users to authenticate using X.509 certificates. This is meant as a "bridge" where a certificate can be converted into a OpenId Connect token.

The Authenticator is setup by adding the jar in the providers/ folder.

For configuration, an authentication flow should be setup with a single step where the type is Certificates and the requirement is Required.

相关推荐

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Contraband Interactive
  • Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.

  • rustassistant.com
  • Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • Mintplex-Labs
  • 带有内置抹布,AI代理,无代理构建器,MCP兼容性等的多合一桌面和Docker AI应用程序。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • n8n-io
  • 具有本机AI功能的公平代码工作流程自动化平台。将视觉构建与自定义代码,自宿主或云相结合,400+集成。

  • WangRongsheng
  • 🧑‍🚀 llm 资料总结(数据处理、模型训练、模型部署、 o1 模型、mcp 、小语言模型、视觉语言模型)|摘要世界上最好的LLM资源。

  • open-webui
  • 用户友好的AI接口(支持Ollama,OpenAi API,...)

  • metorial
  • 数百个MCP服务器的容器化版本📡📡

  • langgenius
  • Reviews

    3 (1)
    Avatar
    user_qLZjrlZn
    2025-04-18

    MCPKeycloakSpi by maritimeconnectivity is an outstanding integration solution for Keycloak users in the maritime industry. It seamlessly enhances security and identity management. The documentation is comprehensive, making it easy to implement and deploy. Highly recommend for any maritime application needing robust authentication. Check it out at: https://github.com/maritimeconnectivity/MCPKeycloakSpi