# SSO

***

Gerenciar múltiplas senhas para diferentes aplicações é um desafio constante para usuários e um ponto de vulnerabilidade para empresas. O **Single Sign-On (SSO)** surge como uma solução elegante, permitindo que usuários acessem diversos serviços com uma única autenticação segura. A FaceSign eleva esse conceito ao próximo nível com o **SSO Biométrico**, utilizando a tecnologia de reconhecimento facial como seu passaporte digital seguro e intransferível.

## O que é o SSO Biométrico da FaceSign?

O SSO Biométrico da FaceSign transforma a conta FaceSign do seu usuário em um **Identity Provider (IdP)** confiável e seguro. Similar à funcionalidade "Logar com Google" ou "Logar com Facebook", sua aplicação pode oferecer a opção "Login com FaceSign". Ao escolher essa opção, o usuário é autenticado através da sua biometria facial única, garantindo um acesso rápido, conveniente e extremamente seguro, eliminando a necessidade de senhas tradicionais para suas aplicações integradas.

## Como Funciona?

O fluxo de autenticação é projetado para ser simples para o usuário e flexível para o desenvolvedor:

1. **Início do Login:** Na sua aplicação (site ou app), o usuário clica no botão "Login com FaceSign".
2. **Chamada da FaceSign:** Sua aplicação redireciona o usuário ou abre uma webview para a interface de autenticação da FaceSign.
3. **Autenticação Biométrica:** O usuário realiza a verificação biométrica facial. A tecnologia Liveness 3D da FaceSign garante que é uma pessoa real, prevenindo fraudes.
4. **Consentimento (se aplicável):** Na primeira vez que o usuário acessa sua aplicação via FaceSign SSO, ele pode precisar consentir o compartilhamento de informações básicas (configurável).
5. **Callback para Aplicação:** Após a autenticação bem-sucedida, a FaceSign retorna o controle para sua aplicação através de uma URL de callback pré-configurada. Esse retorno pode ser feito via **Redirect** (navegador do usuário é redirecionado) ou **Webhook** (uma chamada servidor-a-servidor).
6. **Validação do Token:** Sua aplicação recebe um parâmetro (token) no callback. Para confirmar a autenticidade do login, seu backend deve chamar o endpoint de validação da FaceSign (`/api/singlesignon/validate/`), enviando este token e a chave de criptografia configurada.
7. **Concessão de Acesso:** Se a validação for positiva, sua aplicação recebe a confirmação e os dados do usuário (se configurado para tal, como CPF, Nome) e concede o acesso ao usuário.

## Principais Características e Benefícios

* **Segurança Biométrica:** Substitui senhas vulneráveis pela autenticação facial de alta precisão com Liveness 3D.
* **Conveniência Extrema:** Login rápido e sem atrito para o usuário – basta um olhar.
* **Experiência Simplificada:** Reduz a fadiga de senhas e simplifica o processo de acesso a múltiplas plataformas.
* **Implementação Flexível:** Suporta diferentes fluxos de login e métodos de callback (Redirect/Webhook) para se adaptar à sua arquitetura.
* **Controle de Dados:** Permite configurar quais dados do usuário (previamente consentidos) são compartilhados com a aplicação via payload no callback.
* **Gestão Centralizada:** Configuração fácil através do Painel Administrativo da FaceSign.

## Guia de Implementação

A integração do SSO FaceSign envolve os seguintes passos principais:

1. **Definir URL de Callback:** Crie uma página/endpoint na sua aplicação dedicada a receber o retorno do SSO FaceSign.
2. **Configurar no Painel FaceSign:** Acesse o painel administrativo da FaceSign, vá até a seção de funcionalidades do SSO e informe a URL de callback definida.
3. **Escolher Método de Callback:** Selecione se prefere receber o retorno via Redirect ou Webhook.
4. **Gerenciar Chave de Criptografia:** Utilize a chave de criptografia padrão gerada pela FaceSign ou configure uma chave própria (garantindo que a mesma chave seja usada na validação).
5. **Implementar Validação:** No backend da sua aplicação, implemente a chamada ao endpoint de validação da FaceSign, passando o token recebido no callback e a chave de criptografia.
6. **Tratar Resposta:** Processe a resposta da validação para conceder ou negar o acesso ao usuário.

## Segurança em Primeiro Lugar

A segurança é a base do SSO FaceSign. O uso de chaves de criptografia e a necessidade de validar o token recebido em nosso endpoint garantem que apenas autenticações legítimas sejam aceitas, protegendo tanto o usuário quanto a sua aplicação.

## Conclusão

O SSO Biométrico da FaceSign oferece uma combinação imbatível de segurança e conveniência. Ao adotá-lo, você não apenas fortalece a proteção contra acessos não autorizados, mas também proporciona uma experiência de login moderna e sem fricção para seus usuários, aumentando o engajamento e a confiança na sua plataforma.

***

### Single Sign-On

O Single Sign-On (SSO) utilizar o APP FaceSign para permitir uma autenticação única para diversas aplicações. Os usuários se autenticam uma vez e são automaticamente logados em outros aplicativos integrados.

Facilite a autenticação dos usuários em seu site usando a funcionalidade de `Login com FaceSign`. Com essa opção, os usuários podem acessar o seu site fazendo login em uma conta do FaceSign, o que simplifica o processo de autenticação e compartilhamento seguro de informações.

A plataforma suporta botões personalizados e vários fluxos de login para garantir a melhor experiência do usuário.

Além disso, a etapa de inscrição consiste em obter o consentimento do proprietário da conta da FaceSign para acessar seu sistema através da biometria do usuário.

### Implementação

Segue abaixo um passo-a-passo para criar uma página na sua aplicação que receberá o callback do SSO:

1. Crie uma página na sua aplicação onde você irá receber o callback do SSO. Certifique-se de que a página tenha uma URL única e que esteja pronta para receber parâmetros.
2. Na página criada, configure-a para esperar um parâmetro que será enviado pelo FaceSign. Este parâmetro deverá ser informado no cadastro do FaceSign.
3. Configure a página de callback no FaceSign. Para fazer isso, acesse a página de edição do cliente no FaceSign.

<figure><img src="https://2933983217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZHOws1GppZYJspgX4wu1%2Fuploads%2Fb4fcTzlPMY9uIj7xIhmg%2Feditar.jpg?alt=media&#x26;token=8509e780-bdf4-445b-b3a2-46007f4aa4a8" alt=""><figcaption></figcaption></figure>

4. Clique na aba `funcionalidades` e procure pelo campo `URL para callback` e informe a URL da página criada anteriormente como callback URL.

<figure><img src="https://2933983217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZHOws1GppZYJspgX4wu1%2Fuploads%2FWqPeJRRAoyjNrtSrzYuE%2Ffuncionalidades.png?alt=media&#x26;token=c7663927-fbd9-4979-a95c-d92923f6c2ac" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2933983217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZHOws1GppZYJspgX4wu1%2Fuploads%2FVc6iFdm2mwyrRMvsGhMd%2Fcallback.png?alt=media&#x26;token=3de8c636-05bf-4dfd-8fe4-8a89a8fc7db4" alt=""><figcaption></figcaption></figure>

5. Se optar por utilizar um `Webhook`, escolha a opção correspondente e insira o URL para callback.

<figure><img src="https://2933983217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZHOws1GppZYJspgX4wu1%2Fuploads%2FZRsuw2O2aunAhc7iOzTW%2Fwebhook.png?alt=media&#x26;token=44b78915-1194-408d-8caf-e87bc11a3ad6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2933983217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZHOws1GppZYJspgX4wu1%2Fuploads%2Fy4ussKoccuaFF2dJSBSL%2Fwebhookurl.png?alt=media&#x26;token=23fa696d-d548-4929-be08-a7e7af99648f" alt=""><figcaption></figcaption></figure>

6. Certifique-se de que esteja utilizando a mesma chave de criptografia para o FaceSign e para a sua aplicação. Caso sua aplicação não utilize uma chave de criptografia própria basta deixar o campo `chave` em branco e uma chave padrão será criada automaticamente.
7. Com o modelo validado, aplique a regra de autenticação na sua aplicação. Se a resposta da validação for positiva, você pode considerar que o usuário está autenticado e permitir o acesso à sua aplicação. Caso contrário, negue o acesso. Certifique-se de que está armazenando os dados necessários do usuário de forma segura e de acordo com as leis de proteção de dados aplicáveis.

### Dúvidas?

Não encontrou algo ou ainda precisa de ajuda? Se ja é um cliente ou parceiro pode entrar em contato conosco através da **Central de Ajuda**.
