{"adoption": {"forks": 450, "observed_at": "2026-08-28T04:04:06.063860+00:00", "stars": 1239}, "canonical_url": "https://ross.abutalabs.com/products/angular-auth-oidc-client", "card": {"archived": false, "artifact_type": "library", "description": "npm package for OpenID Connect, OAuth Code Flow with PKCE, Refresh tokens, Implicit Flow", "domain": ["web-development", "frontend", "security", "apis"], "enriched": true, "function": ["auth", "security"], "health_score": 100, "homepage": "https://www.npmjs.com/package/angular-auth-oidc-client", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["damienbod/angular-auth-oidc-client"], "name": "damienbod/angular-auth-oidc-client", "platform": ["browser"], "pushed_at": "2026-08-26T09:24:52+00:00", "repo": "damienbod/angular-auth-oidc-client", "stars": 1239, "tags": ["openid-connect", "oauth2", "pkce", "code-flow", "implicit-flow", "refresh-tokens", "identity-provider", "npm-package", "typescript", "angular", "nodejs", "web-server"], "topics": ["openid", "angular", "implicit-flow", "npm", "security", "oauth2", "oidc", "authn", "auth", "identity", "openidconnect", "authentication"], "urls": [], "use_cases": ["add openid connect authentication to an angular app", "implement oauth2 code flow with pkce in angular", "refresh access tokens in an angular spa", "authenticate angular app with identityserver or auth0", "handle token revocation and session management in angular", "login with redirect or popup in an angular application"], "what_it_is": "An npm library for securing Angular applications with OpenID Connect and OAuth2, supporting Code Flow with PKCE, refresh tokens, and the Implicit Flow. It is certified by the OpenID Foundation and works with all modern OIDC identity providers.", "when_to_avoid": ["your frontend is React, Vue, or another non-Angular framework", "you need server-side or backend authentication middleware rather than a client-side SPA library", "you only need simple session cookies without OIDC"], "when_to_choose": ["you are building an Angular single-page application that needs standards-compliant OIDC/OAuth2 authentication", "you need PKCE, refresh tokens, PAR, or token revocation support in the browser", "you want an OpenID Foundation certified relying-party library with active maintenance"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/angular-auth-oidc-client", "repo": "damienbod/angular-auth-oidc-client", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-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:04:06.063860+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.063860+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:09:56.973341+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f3a44b3f3328392bccc5748aa27d2e1b6c5fe79c6c94a338d55b2338b4b6684", "fetched_at": "2026-08-28T04:04:06.063860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/damienbod/angular-auth-oidc-client"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3368, "days_push": 7, "days_rel": 18, "gap_med": 42.0, "n_releases_24m": 13}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}