Client Setup With an Adapter
Using a Client With an Adapter
Once you have downloaded your Installation JSON, you can configure your application quickly using a Keycloak adapter or a standards‑based OpenID Connect (OIDC) client library. Keycloak provides adapters for several languages, including Java, JavaScript, and .NET (C#).
In most cases, no additional configuration is required beyond the Installation JSON generated during the request process.
Keycloak and the community also provide example applications that demonstrate common integration patterns, including authentication, token handling, and logout flows.
For more details on what the Installation JSON contains and how it is used, see installation-json.
Our Guidance on Libraries and Adapters
We regularly evaluate existing OIDC client libraries to decide which technologies to reference and which example applications to maintain for our client teams.
Libraries are evaluated using the following criteria::
- Actively maintained? - Evidence of recent commits, releases, or issue resolution.
- Meets required feature set - Supports standard OIDC authorization flows and Keycloak‑specific parameters (for example, kc_idp_hint).
- Popularity - Relative adoption based on community usage (for example, approximate weekly downloads).
- Open source - Source code is publicly available and community‑reviewable.
- PCKE Support - Required for modern, secure public‑client implementations.
- SPA compatibility - Suitable for single‑page application (SPA) architectures where applicable.
- Comments - Notable limitations, use cases, or ecosystem considerations.
Note
Popularity values are approximate and change over time. They are provided for comparison only and should not be the sole factor in library selection. Data collected as of May 2026
JavaScript
TypeScript
| Library | Being Maintained? | Meets Feature Set | Popularity (~ weekly) | Open Source | PKCE Support | SPA Support | Comments |
|---|
| oidc-client-ts | ✔ | ✔ | ~35k-40k | ✔ | ✔ | ✔ | |
| sso-express | ✔ | ✔ | ~100-150 | ✔ | ✔ | ✔ | Being used by some community teams. Works for TypeScript. |
| keycloak-js | ✔ | ✔ | ~90k-120k | ✔ | ✔ | ✔ | Keycloak supported in their documentation. Works for TypeScript. |
C#/.Net
| Library | Being Maintained? | Meets Feature Set | Popularity (~ weekly) | Open Source | PKCE Support | SPA Support | Comments |
|---|
| IdentityModel.OidcClient | ✔ | ✔ | N/A | | ✔ | | |
Python
| Library | Being Maintained? | Meets Feature Set | Popularity (~ weekly) | Open Source | PKCE Support | SPA Support | Comments |
|---|
| JWTConnect-Python-OidcRP | ✔ | ✔ | ~400 | ✔ | ✔ | ✔ | |
| pyoidc | ✔ | ✔ | N/A | ✔ | ✔ | ✔ | |
Java
| Library | Being Maintained? | Meets Feature Set | Popularity | Open Source | PKCE Support | SPA Support | Comments |
|---|
| Spring Security | ✔ | ✔ | Very high | ✔ | N/A | | |
| SpringBoot | ✔ | ✔ | Very high | ✔ | N/A | | |
AngularJS
| Library | Being Maintained? | Meets Feature Set | Popularity (~ weekly) | Open Source | PKCE Support | SPA Support | Comments |
|---|
| angular-auth-oidc-client | ✔ | ✔ | ~25k-30k | ✔ | ✔ | ✔ | |
Additional Notes
- Libraries being considered which were not maintained are not included in this list.