{"adoption": {"forks": 395, "observed_at": "2026-08-28T04:05:56.342287+00:00", "stars": 1933}, "canonical_url": "https://ross.abutalabs.com/products/osin", "card": {"archived": false, "artifact_type": "library", "description": "Golang OAuth2 server library", "domain": ["security", "apis", "backend", "web-development"], "enriched": true, "function": ["auth", "http-server", "security"], "health_score": 79, "homepage": null, "language": "Go", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["openshift/osin"], "name": "openshift/osin", "platform": ["go", "cross-platform"], "pushed_at": "2026-08-17T10:13:43+00:00", "repo": "openshift/osin", "stars": 1933, "tags": ["oauth2", "oauth2-server", "pkce", "authentication", "authorization-server"], "topics": [], "urls": [], "use_cases": ["build an oauth2 authorization server in go", "implement oauth2 token endpoint for my api", "add pkce support to my oauth2 code flow", "issue access tokens for a go web service", "implement client credentials grant in go", "self-host an oauth2 provider"], "what_it_is": "OSIN is a Go library for building your own OAuth2 authentication server, implementing the RFC 6749 specification including authorization and token endpoints and most grant types. It also supports PKCE for more secure code-exchange flows with public clients.", "when_to_avoid": ["you want a turnkey, fully-featured identity provider with user management out of the box (consider Keycloak or Ory Hydra)", "you need an OAuth2 client library rather than a server", "you need active development and modern maintenance - the project sees infrequent updates"], "when_to_choose": ["you need a low-level, embeddable OAuth2 server library in Go that you can wire into your own HTTP handlers and storage backend", "you need RFC 6749 grant types plus PKCE support", "you want to plug in your own storage (Postgres, MySQL, Redis, etc.) via a simple interface"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/osin", "repo": "openshift/osin", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "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:05:56.342287+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.342287+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:08:34.608466+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34426d13b1fee65a11f8dc6640fce05469c3c0a68d7c2060576038d9252595c1", "fetched_at": "2026-08-28T04:05:56.342287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/osin"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4740, "days_push": 16, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}