{"adoption": {"forks": 410, "observed_at": "2026-08-28T04:06:43.651398+00:00", "stars": 2398}, "canonical_url": "https://ross.abutalabs.com/products/openid-client", "card": {"archived": false, "artifact_type": "library", "description": "OAuth 2 / OpenID Connect Client API for JavaScript Runtimes", "domain": ["security", "web-development", "apis"], "enriched": true, "function": ["auth", "authorization", "http-client", "sdk"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["panva/openid-client"], "name": "panva/openid-client", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-24T20:22:07+00:00", "repo": "panva/openid-client", "stars": 2398, "tags": ["oauth2", "openid-connect", "oidc", "authentication-flows", "fapi", "dpop", "passport-strategy", "typescript", "authentication", "nodejs", "deno", "web-server"], "topics": ["oidc", "openid", "openid-client", "openid-connect", "passport", "connect", "client"], "urls": [], "use_cases": ["add OpenID Connect login to a Node.js app", "implement OAuth 2.0 authorization code flow", "integrate with an identity provider like Auth0 or Keycloak", "perform token introspection and revocation", "use client credentials grant for machine-to-machine auth", "build a FAPI-compliant relying party", "add a Passport strategy for OIDC authentication", "handle DPoP proof-of-possession tokens"], "what_it_is": "openid-client is a TypeScript library providing OAuth 2.0 and OpenID Connect client APIs for JavaScript runtimes including Node.js, Deno, browsers, and Cloudflare Workers. It implements certified authorization and authentication flows such as Authorization Code, CIBA, Device Authorization, and FAPI profiles.", "when_to_avoid": ["you need an OAuth/OIDC server or provider, not a client", "you are outside the JavaScript ecosystem", "you only need simple social login with a hosted SDK like Auth0's", "you need a full framework with built-in session management"], "when_to_choose": ["you need a certified, standards-compliant OIDC/OAuth client in JavaScript", "you support multiple JS runtimes (Node, Deno, Workers, browsers)", "you need advanced flows like CIBA, PAR, JAR, JARM, or DPoP", "you want an actively maintained library with OpenID certification"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openid-client", "repo": "panva/openid-client", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:43.651398+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:34:19.039268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b2a7f10a9f189d45f561cbf9e48fd38025845d0c9d7d1928b37a1248f14d7765", "fetched_at": "2026-08-28T04:06:43.651398+00:00", "kind": "readme", "missing": false, "url": "https://github.com/panva/openid-client"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3719, "days_push": 9, "days_rel": 13, "gap_med": 6, "n_releases_24m": 38}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}