{"adoption": {"forks": 382, "observed_at": "2026-08-28T04:04:51.901628+00:00", "stars": 1485}, "canonical_url": "https://ross.abutalabs.com/products/jasny-sso", "card": {"archived": false, "artifact_type": "library", "description": "Simple Single Sign-On for PHP", "domain": ["security", "web-development", "backend"], "enriched": true, "function": ["auth", "http-server", "middleware"], "health_score": 22, "homepage": null, "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["jasny/sso"], "name": "jasny/sso", "platform": ["php", "self-hosted"], "pushed_at": "2024-02-13T12:22:22+00:00", "repo": "jasny/sso", "stars": 1485, "tags": ["single-sign-on", "sso", "session-sharing", "authentication-broker", "web-server"], "topics": [], "urls": [], "use_cases": ["implement single sign-on across multiple php websites", "share login sessions between sites on different domains", "avoid requiring users to log in again on each affiliate site", "centralize user credentials on one authentication server", "log out users across all connected sites at once", "replace oauth-based login with true session sharing"], "what_it_is": "A PHP library implementing simple Single Sign-On (SSO), allowing users to log in once at a central server and be automatically authenticated across multiple affiliate websites that need not share a top-level domain. It differs from OAuth by sharing a full session between brokers rather than just exchanging profile info.", "when_to_avoid": ["you need a standards-based protocol like SAML, OIDC, or OAuth2", "your stack is not PHP", "you need federated identity with external identity providers"], "when_to_choose": ["you control a central auth server and multiple php broker sites", "you want simple, lightweight SSO without OAuth complexity", "affiliate sites are on different top-level domains but should share sessions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jasny-sso", "repo": "jasny/sso", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "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:51.901628+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.901628+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:56.279547+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbd2acf20a581aee343b828b1ddd45c30510359c820981c48c5e70b1a55dd5bf", "fetched_at": "2026-08-28T04:04:51.901628+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasny/sso"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 6125, "days_push": 932, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}