Skip to content
This repository was archived by the owner on Jun 19, 2025. It is now read-only.

ASP.NET Core Service Provider (SP) using the SAML2 protocol with authentication via social login providers through a SATOSA proxy

Notifications You must be signed in to change notification settings

luizakuze/satosa-proxy-asp-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Satosa proxy: fluxo SAML2 ↔ login social

Esta aplicação contém um provedor de serviço (SP) ASP.NET Core que utiliza o protocolo SAML2 para realizar autenticação com diferentes provedores de login social que utilizam OAuth2 e OpenID Connect (OIDC): Facebook e Google.

Ferramentas

Estrutura do projeto

.
├── saml2-social                            # configurações do proxy satosa
│   ├── internal_attributes.yaml
│   ├── metadata
│   │   ├── frontend_facebook.xml
│   │   ├── frontend_google.xml
│   │   └── sp.xml
│   ├── pki
│   │   ├── frontend.crt
│   │   └── frontend.key
│   ├── plugins
│   │   ├── facebook_backend.yaml
│   │   ├── google_backend.yaml
│   │   └── mirror_frontend.yaml
│   └── proxy_conf.yaml
├── sp                                      # provedor de serviço
│   ├── appsettings.json
│   ├── AttributeMap
│   │   └── SamlUri.cs 
│   ├── Certificates
│   │   ├── mycert.crt
│   │   ├── mykey.key
│   │   └── newcert.pfx
│   ├── Controllers
│   │   ├── HomeController.cs
│   │   ├── LogoutController.cs
│   │   └── UsersController.cs
│   ├── Program.cs
│   ├── saml-csharp.csproj
│   ├── saml-csharp.sln
│   └── Views
│       ├── Home
│       │   └── Index.cshtml
│       └── Users
└──         └── Index.cshtml

Como executar

  1. Clone o repositório:

    git clone https://github.com/luizakuze/satosa-proxy
    cd satosa-proxy
  2. Configure os provedores de login social:

    • Google:
      Acesse o Google Cloud Console, crie um novo OAuth Client ID e copie o client_id e o client_secret para o arquivo saml2-social/plugins/google_backend.yaml

    • Facebook:
      Acesse o Facebook for Developers, registre um novo aplicativo e insira as credenciais no arquivo saml2-social/plugins/facebook_backend.yaml

  3. Instalar dependência em ambiente virtual:

    python3 -m venv .venv            
    source .venv/bin/activate    
    pip install --upgrade pip
    pip install "satosa[gunicorn]"
  4. Execute a aplicação do SP (ASP.NET Core):

    dotnet restore sp/saml-csharp.csproj
    dotnet run --project sp/saml-csharp.csproj
  5. Inicie o SATOSA com Gunicorn usando o script de execução:

    chmod +x run.sh
    ./run.sh

Script gerador de metadados

Caso deseje obter os metadados gerados pelo satosa para cada backend configurado, execute:

satosa-saml-metadata saml2-social/proxy_conf.yaml \
saml2-social/pki/frontend.key \
saml2-social/pki/frontend.crt \
--split-frontend \
--split-backend \
--dir saml2-social/metadata

About

ASP.NET Core Service Provider (SP) using the SAML2 protocol with authentication via social login providers through a SATOSA proxy

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published