An OpenID Foundation-certified OpenID Connect client and server library for Go, designed for ease of use.
ZITADEL OIDC is an OpenID Connect SDK for Go that provides both client and server implementations for handling authentication and authorization. It solves the need for a certified, easy-to-use library that supports the full OIDC specification, enabling developers to integrate secure identity management into their applications.
Go developers building applications that require OpenID Connect authentication, including those implementing identity providers (IdPs), relying parties (clients), or resource servers.
Developers choose this library because it is officially certified by the OpenID Foundation, supports both client and server roles, and is built on familiar Go standards, ensuring reliability and ease of integration for IAM solutions.
Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Officially certified for Basic and Config profiles, ensuring compliance and reliability for IAM integrations, as highlighted in the README and certification badges.
Provides both Relying Party (client) and OpenID Provider (server) implementations in a single package, reducing dependency on multiple libraries for full OIDC support.
Implements key OIDC flows like Code Flow, PKCE, Token Exchange, and Device Authorization, with a detailed features table showing broad coverage of specifications.
Reuses and extends the standard OAuth2 for Go package, making it familiar for Go developers and ensuring interoperability with existing Go ecosystems.
Includes practical examples in the /example folder for scenarios like web apps, APIs, and dynamic server configurations, aiding in quick integration and testing.
Lacks support for mTLS and Hybrid Flow on the server side, which are explicitly marked as 'not yet' in the features table, limiting use cases requiring these protocols.
The README notes 'limited availability for feature reviews' in a discussion link, which could slow down development and response to new feature requests or issues.
Only supports the latest two Go versions (e.g., 1.25 and 1.26), potentially excluding projects on older versions and requiring frequent updates for compatibility.