{"repo":"keycloakify/oidc-spa","free":true,"listed":false,"github":"https://github.com/keycloakify/oidc-spa","clone":"git clone https://github.com/keycloakify/oidc-spa.git","description":"OpenID Connect solution for browser-centric web apps.","language":"TypeScript","stars":304,"topics":["keycloak","oidc","oidc-client","typescript"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"We're here to help! Home - Documentation oidc-spa is an OpenID Connect client built for browser-first apps. It wraps the full Authorization Code + PKCE flow in a high-level API so you can ship secure app auth without stitching together multiple SDKs and ad-hoc glue. - 🔒 Security-first defaults: in-memory tokens, strict redirect handling, and opt-in defenses like DPoP and token substitution to reduce token exposure risk. - 🧭 Battle-tested auth UX: token renewal, idle timeout, auto login/logout, multi-tab session sync, and reliable session restore on reload. - 🧩 Full-stack ready: backend token validation utilities and first-class TanStack Start integration in the same library. - 🧰 Provider-aware: handles real-world quirks across Keycloak, Entra ID, Auth0, Google, and more. - ✨ Developer experience: types flow from config into the API, minimal knobs, and easy-to-mock auth for tests. Get Started At a glance The Framework-Agnostic Adapter: Higher-level adapters, example with React but we also feature a similar Angular adapter: Full-stack auth solution with TanStack Start: Sponsors Project backers, we trust and recommend their services. Keycloak as a Service — Keycloak community contributors of popular extensions providing free and dedicated Keycloak hosting and enterprise Keycloak support to businesses of all sizes. Keycloak Consulting Services — Your partner in Keycloak deployment, configuration, and extension development for optimized identity management solutions.","default_branch":null,"files":null,"tree":[],"storefront":"/r/keycloakify","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/keycloakify/oidc-spa/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}