{"id":18518444,"url":"https://github.com/identitypython/satosa","last_synced_at":"2025-05-15T07:05:04.775Z","repository":{"id":38746297,"uuid":"41785805","full_name":"IdentityPython/SATOSA","owner":"IdentityPython","description":"Proxy translating between different authentication protocols (SAML2, OpenID Connect and OAuth2)","archived":false,"fork":false,"pushed_at":"2025-02-17T10:37:28.000Z","size":3337,"stargazers_count":224,"open_issues_count":83,"forks_count":132,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-05-15T07:04:56.855Z","etag":null,"topics":["oidc","proxy","saml","social-login"],"latest_commit_sha":null,"homepage":"https://idpy.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IdentityPython.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-09-02T07:08:03.000Z","updated_at":"2025-05-07T02:13:17.000Z","dependencies_parsed_at":"2023-11-13T21:24:01.804Z","dependency_job_id":"873db1e0-f585-4f59-a11a-afecf51181f9","html_url":"https://github.com/IdentityPython/SATOSA","commit_stats":{"total_commits":1343,"total_committers":52,"mean_commits":"25.826923076923077","dds":0.6388682055100521,"last_synced_commit":"4e8d27c0697f5fc302f4387a7a4ca170a6a1e393"},"previous_names":["sunet/satosa"],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdentityPython%2FSATOSA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdentityPython%2FSATOSA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdentityPython%2FSATOSA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdentityPython%2FSATOSA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IdentityPython","download_url":"https://codeload.github.com/IdentityPython/SATOSA/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292040,"owners_count":22046426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["oidc","proxy","saml","social-login"],"created_at":"2024-11-06T17:13:22.904Z","updated_at":"2025-05-15T07:04:59.765Z","avatar_url":"https://github.com/IdentityPython.png","language":"Python","readme":"# SATOSA\n\n[![PyPI](https://img.shields.io/pypi/v/SATOSA.svg)](https://pypi.python.org/pypi/SATOSA)\n\nA configurable proxy for translating between different authentication protocols\nsuch as SAML2, OpenID Connect and OAuth2.\n\n\n# Table of Contents\n\n- [Installation](doc/README.md#installation)\n  - [Docker](doc/README.md#docker)\n  - [Manual installation](doc/README.md#manual-installation)\n    - [Dependencies](doc/README.md#dependencies)\n    - [Instructions](doc/README.md#instructions)\n- [Configuration](doc/README.md#configuration)\n  - [SATOSA proxy configuration: proxy_conf.yaml.example](doc/README.md#satosa-proxy-configuration-proxy_confyamlexample)\n  - [Attribute mapping configuration: internal_attributes.yaml](doc/README.md#attribute-mapping-configuration-internal_attributesyaml)\n    - [attributes](doc/README.md#attributes)\n    - [user_id_from_attrs](doc/README.md#user_id_from_attrs)\n    - [user_id_to_attr](doc/README.md#user_id_to_attr)\n- [Plugins](doc/README.md#plugins)\n  - [SAML2 plugins](doc/README.md#saml2-plugins)\n    - [Metadata](doc/README.md#metadata)\n    - [AuthnContextClassRef](doc/README.md#providing-authncontextclassref)\n    - [Frontend](doc/README.md#saml2-frontend)\n      - [Custom attribute release](doc/README.md#custom-attribute-release)\n      - [Policy](doc/README.md#policy)\n    - [Backend](doc/README.md#saml2-backend)\n      - [Name ID Format](doc/README.md#name-id-format)\n      - [Discovery service](doc/README.md#use-a-discovery-service)\n      - [ForceAuthn option](doc/README.md#mirror-the-saml-forceauthn-option)\n      - [Memorize IdP](doc/README.md#memorize-the-idp-selected-through-the-discovery-service)\n  - [OpenID Connect plugins](doc/README.md#openid-connect-plugins)\n    - [Frontend](doc/README.md#oidc-frontend)\n    - [Backend](doc/README.md#oidc-backend)\n    - [Social login plugins](doc/README.md#social-login-plugins)\n      - [Google](doc/README.md#google)\n      - [Facebook](doc/README.md#facebook)\n  - [Dummy adapters](doc/README.md#dummy-adapters)\n  - [Micro-services](doc/README.md#micro-services)\n- [Generating proxy metadata](doc/README.md#generate-proxy-metadata)\n- [Running the proxy application](doc/README.md#running-the-proxy-application)\n- [External contributions](doc/README.md#external-contributions)\n\n\n# Use cases\n\nIn this section a set of use cases for the proxy is presented.\n\n\n## SAML2\u003c-\u003eSAML2\n\nThere are SAML2 service providers for example Box which is not able to handle\nmultiple identity providers. For more information about how to set up,\nconfigure and run such a proxy instance please visit [Single Service\nProvider\u003c-\u003eMultiple Identity providers](doc/one-to-many.md)\n\nIf an identity provider can not communicate with service providers in for\nexample a federation, they can convert requests and make the communication\npossible.\n\n\n## SAML2\u003c-\u003eSocial logins\n\nThis setup makes it possible to connect a SAML2 service provider to multiple\nsocial media identity providers such as Google and Facebook. The proxy makes it\npossible to mirror an identity provider by generating SAML2 metadata\ncorresponding to that provider and create dynamic endpoints which are connected to\na single identity provider.\n\nFor more information about how to set up, configure and run such a proxy\ninstance please read [SAML2\u003c-\u003eSocial logins](doc/SAML2-to-Social_logins.md)\n\n\n## SAML2\u003c-\u003eOIDC\n\nThe proxy is able to act as a proxy between a SAML2 service provider and a\nOpenID connect provider [SAML2\u003c-\u003eOIDC](doc/saml2-to-oidc.md)\n\n# Contact\n\nIf you have any questions regarding operations/deployment of SATOSA please use\nthe satosa-users [mailing list](https://lists.sunet.se/postorius/lists/idpy-discuss.lists.sunet.se/).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidentitypython%2Fsatosa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidentitypython%2Fsatosa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidentitypython%2Fsatosa/lists"}