{"adoption": {"forks": 620, "observed_at": "2026-08-28T04:06:29.785345+00:00", "stars": 2241}, "canonical_url": "https://ross.abutalabs.com/products/saml2aws", "card": {"archived": false, "artifact_type": "cli-tool", "description": "CLI tool which enables you to login and retrieve AWS temporary credentials using a SAML IDP", "domain": ["cloud-computing", "security", "developer-tools"], "enriched": true, "function": ["auth", "cli", "security"], "health_score": 64, "homepage": "https://github.com/Versent/saml2aws", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Versent/saml2aws"], "name": "Versent/saml2aws", "platform": ["windows", "cli", "cross-platform"], "pushed_at": "2025-11-20T01:19:52+00:00", "repo": "Versent/saml2aws", "stars": 2241, "tags": ["aws", "saml", "sso", "adfs", "pingfederate", "sts", "temporary-credentials", "federated-identity", "go", "command-line", "linux", "macos"], "topics": ["aws", "saml", "adfs", "osx", "windows", "linux", "macos", "macosx"], "urls": [], "use_cases": ["log in to AWS CLI using my company's SAML single sign-on", "get temporary AWS credentials from ADFS", "authenticate AWS CLI with PingFederate", "assume an AWS role via SAML assertion from the command line", "avoid long-lived AWS access keys by using federated SSO credentials", "configure multiple AWS accounts behind one SAML identity provider", "use AWS CLI with corporate identity provider credentials"], "what_it_is": "saml2aws is a Go CLI tool that authenticates against SAML-based identity providers such as ADFS and PingFederate and exchanges the SAML assertion with AWS STS to obtain temporary AWS credentials. It saves those credentials to an AWS profile so users can seamlessly use the AWS CLI and SDKs with federated single sign-on.", "when_to_avoid": ["your organization uses AWS IAM Identity Center (AWS SSO) natively, where the built-in aws sso login is simpler", "you need OIDC/OAuth-based federation rather than SAML", "you want a GUI-based SSO experience rather than a terminal tool", "you don't use AWS"], "when_to_choose": ["your organization uses a SAML 2.0 identity provider like ADFS, PingFederate, or Okta for AWS access", "you want short-lived STS credentials instead of static IAM keys", "you need a scriptable, cross-platform CLI for federated AWS login", "you manage multiple AWS accounts and roles through one SSO flow"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/saml2aws", "repo": "Versent/saml2aws", "role": "main", "score": 49}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "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:29.785345+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.785345+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:44:06.021552+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9c303ce884b39fb91d30c270866b14a72bc51a40dd1516f48e80590fee7f95e", "fetched_at": "2026-08-28T04:06:29.785345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Versent/saml2aws"}, {"content_hash": "84b53594745aae1e29d49c8e2d3e81bd401ccf34c8f8104e90437c8a6695d9c4", "fetched_at": "2026-08-29T10:24:21.261034+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Versent/saml2aws"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 53, "longevity": 100, "rhythm": 16}, "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": 3643, "days_push": 287, "days_rel": 538, "gap_med": 143, "n_releases_24m": 2}, "score": 49, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}