A TypeScript library for OpenID Connect and OAuth2 protocol support in browser-based JavaScript applications.
oidc-client-ts is a TypeScript library that implements OpenID Connect (OIDC) and OAuth2 protocols for browser-based JavaScript applications. It solves the problem of secure authentication and authorization in client-side apps by providing robust token management, session handling, and support for modern OAuth 2.1 standards.
Frontend developers building single-page applications (SPAs) or browser-based apps that require secure authentication with identity providers like Auth0, Okta, or custom OIDC/OAuth2 servers.
Developers choose oidc-client-ts for its TypeScript-first design, comprehensive protocol support (including PKCE), and focus on security by deprecating outdated flows like implicit grant. It's a maintained fork of the popular oidc-client-js with active development and modern standards alignment.
OpenID Connect (OIDC) and OAuth2 protocol support for browser-based JavaScript applications
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The library is ported to TypeScript, offering type safety and improved developer experience, as highlighted in the README's migration from oidc-client-js.
Focuses on secure, up-to-date protocols by deprecating risky flows like implicit grant and prioritizing PKCE, as stated in the philosophy section.
Implements key grants including authorization code with PKCE, refresh token, and silent iframe refresh, detailed in the documented protocols.
As a maintained fork of the deprecated oidc-client-js, it receives ongoing updates and community contributions, ensuring longevity and modern standards compliance.
Deliberately drops the OAuth2 implicit grant, which can break integration with legacy identity providers that haven't adopted PKCE or authorization code flow.
Silent token renewal relies on iframes, making it vulnerable to browser security policies like SameSite cookie restrictions or iframe blocking, which can cause failures.
Requires manual setup with identity provider endpoints and settings, which can be error-prone for developers unfamiliar with OIDC/OAuth2 specifications.