# zitadel/oidc

Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation

Repository: https://github.com/zitadel/oidc
Canonical: https://ross.abutalabs.com/products/oidc
Homepage: https://zitadel.com
Language: Go
License: Apache-2.0
License Family: permissive
Topics: oidc, oauth2, openidconnect, server, client, go, golang, openid-connect, oauth, certified, jwt, standard, library, code-flow, code-flow-pkce, pkce, discovery, refresh-token, relying-party
Last push: 2026-08-25T15:06:20+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 96, longevity 100
- inputs: {"age_days": 2483, "days_push": 8, "days_rel": 26, "gap_med": 7.0, "n_releases_24m": 49}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1872, forks 217 (observed 2026-08-28T04:05:46.965832+00:00)

## What it is
A Go library implementing both the OpenID Connect client (Relying Party) and server (OpenID Provider) sides of the OIDC/OAuth2 standards, certified by the OpenID Foundation for the basic and config profiles. It supports authorization code flow, PKCE, discovery, refresh tokens, JWT profiles, and resource server token introspection.

## Use cases
- add OIDC login to a Go web app
- implement an OpenID Provider server in Go
- validate and introspect access tokens in a Go API
- authenticate with PKCE authorization code flow
- build a custom login UI backed by OIDC
- act as a resource server verifying JWTs

## When to choose
- you need a certified OIDC implementation in Go
- you want both client (RP) and server (OP) support in one library
- you need standards-compliant flows like code flow with PKCE or JWT profiles

## When to avoid
- you need a full turnkey identity platform with user management rather than a library
- your stack is not Go
- you only need simple session-based auth without OIDC

## Facets
- artifact type: library
- maturity: active
- function: auth, authorization, http-server, http-client, middleware
- domain: security, apis, web-development, backend
- platform: go, windows, cross-platform
- tags: openid-connect, oauth2, oidc, relying-party, openid-provider, jwt, pkce, code-flow, token-introspection, certified, identity, linux, macos

## Member repositories
- zitadel/oidc (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:46.965832+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:14:58.899720+00:00, confidence not recorded.
  - readme: https://github.com/zitadel/oidc (fetched 2026-08-28T04:05:46.965832+00:00, sha 0719485c9119)
  - homepage: https://zitadel.com (fetched 2026-08-29T10:54:01.323249+00:00, sha e6cf5a0645be)
  - site_page: https://zitadel.com/docs/guides/integrate/login-ui (fetched 2026-08-29T10:54:01.336505+00:00, sha 58d17948823f)
  - site_page: https://zitadel.com/docs/guides/solution-scenarios/b2b (fetched 2026-08-29T10:54:01.338144+00:00, sha 1b1d29aca20d)
  - site_page: https://zitadel.com/docs/apis/actions/introduction (fetched 2026-08-29T10:54:01.339900+00:00, sha 5276c78e0431)
  - site_page: https://zitadel.com/docs/apis/introduction (fetched 2026-08-29T10:54:01.341732+00:00, sha 32eb8031c1e9)
  - site_page: https://zitadel.com/docs (fetched 2026-08-29T10:54:01.343510+00:00, sha 39f413609886)
  - site_page: https://zitadel.com/docs/self-hosting/deploy/overview (fetched 2026-08-29T10:54:01.345155+00:00, sha 1a49a101865e)
  - site_page: https://zitadel.com/next (fetched 2026-08-29T10:54:01.332781+00:00, sha 98bd3fbeb8cd)
  - site_page: https://zitadel.com/pricing (fetched 2026-08-29T10:54:01.334836+00:00, sha bc31a56607f6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
