{"adoption": {"forks": 159, "observed_at": "2026-08-28T04:04:25.743928+00:00", "stars": 1338}, "canonical_url": "https://ross.abutalabs.com/products/react-oauth", "card": {"archived": false, "artifact_type": "library", "description": "Google OAuth2 using the new Google Identity Services SDK for React 🚀", "domain": ["web-development", "frontend", "security"], "enriched": true, "function": ["auth", "sdk", "frontend-framework"], "health_score": 84, "homepage": "https://www.npmjs.com/package/@react-oauth/google", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["MomenSherif/react-oauth"], "name": "MomenSherif/react-oauth", "platform": ["cross-platform"], "pushed_at": "2026-04-08T09:26:25+00:00", "repo": "MomenSherif/react-oauth", "stars": 1338, "tags": ["oauth2", "google-login", "github-login", "react-hooks", "typescript", "identity-services", "nodejs", "web-server"], "topics": ["authentication", "google", "login", "oauth", "oauth2", "react", "react-google-login", "react-oauth2"], "urls": [], "use_cases": ["add google sign-in to a react app", "implement one-tap google login", "authenticate users with github oauth in react", "use google identity services in react", "add social login buttons to my react app", "handle oauth2 authorization code flow in react"], "what_it_is": "A collection of React libraries for OAuth2 authentication, including @react-oauth/google built on Google Identity Services and @react-oauth/github for GitHub login. It provides provider components and hooks for sign-in buttons, one-tap sign-up, and custom login flows with full TypeScript support.", "when_to_avoid": ["your app is not React-based", "you need OAuth providers other than Google or GitHub", "you need full server-side session management out of the box"], "when_to_choose": ["you need Google or GitHub OAuth in a React application", "you want a maintained wrapper around Google Identity Services", "you prefer typed hooks and provider components over raw OAuth plumbing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/react-oauth", "repo": "MomenSherif/react-oauth", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "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:25.743928+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.743928+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:43:57.958025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29f7feed0288f7a794c2a25b2434fece492b3cb553375b84da7a825ee1d3b9e3", "fetched_at": "2026-08-28T04:04:25.743928+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MomenSherif/react-oauth"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 76, "longevity": 100, "rhythm": 78}, "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": 1580, "days_push": 147, "days_rel": 147, "gap_med": 2, "n_releases_24m": 8}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}