> For the complete documentation index, see [llms.txt](https://docs.caf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caf.io/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations/auth0.md).

# Auth0 (SAML / OIDC)

Este guia explica como configurar a integração de SSO entre a Trust e o Auth0. Depois de configurar o Auth0, volte para o [Guia de Configuração de SSO da Trust](/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations.md) para concluir a configuração.

{% hint style="info" %}
**Antes de começar:** Acesse a Trust e copie o **Identificador** e **URL de Resposta** campos conforme descrito em [Etapa 2 do Guia de Configuração de SSO](/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations.md#passo-2-selecionar-protocolo-e-obter-dados).
{% endhint %}

***

## Pré-requisitos

* Acesso de administrador ao Auth0
* Acesso de administrador à Trust
* Domínio de e-mail corporativo verificado

***

## Escolha o protocolo

{% tabs %}
{% tab title="SAML" %}

### Configuração SAML

#### Crie uma aplicação no Auth0

1. Acesse o [Painel do Auth0](https://manage.auth0.com)
2. Navegue até **Aplicações** → **Aplicações**
3. Clique em **Criar aplicação**

<div data-with-frame="true"><img src="/files/680574d202d7470fc4226cf602190160fe5c12b1" alt="Auth0 - Criar aplicação"></div>

4. Configure o **Nome** (ex.: "Trust - Caf")
5. Selecione **Aplicações Web Regulares** e clique em **Criar**

<div data-with-frame="true"><img src="/files/33f8663f8ae1b957f8bca45193f17b7a5f30fdc9" alt="Auth0 - Selecione o tipo de aplicação"></div>

#### Ative o SAML

1. Na aplicação criada, acesse a **Addons** aba
2. Localize **SAML2 Web App** e clique para ativar
3. Clique em **SAML2 Web App** após ativar

<div data-with-frame="true"><img src="/files/1ae77d08ca39435c32565f486b9d40565a4fb392" alt="Auth0 - Addons SAML"></div>

4. Na **configurações** aba, no **URL de Callback da Aplicação** campo, cole o **URL de Resposta** da Trust

<div data-with-frame="true"><img src="/files/aba38b32f78db66e866ff542d8f96ff92d21fe43" alt="Auth0 - JSON de Configurações SAML"></div>

5. Configure o JSON:
6. No campo audience, insira a URL do Identificador da Trust e configure os mapeamentos

```json
{
  "audience": "URL do Identificador",
  "mappings": {
    "email": "email",
    "name": "name",
    "given_name": "given_name",
    "family_name": "family_name"
  },
  "nameIdentifierFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
  "nameIdentifierProbes": [
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
  ]
}
```

7. Role até o final da **Configurações** aba e clique em **Salvar**

#### Obter URL de Metadados

1. Acesse o **Uso** aba
2. Localize a **URL de Login do Provedor de Identidade**
3. Monte a **URL de Metadados** adicionando `/metadata` antes do ID do cliente:

| Campo                                      | Formato                                            |
| ------------------------------------------ | -------------------------------------------------- |
| **URL de Login do Provedor de Identidade** | `https://{your-domain}/samlp/{client-id}`          |
| **URL de Metadados**                       | `https://{your-domain}/samlp/metadata/{client-id}` |

{% hint style="info" %}
**Exemplo:** Se a URL de Login do Provedor de Identidade for `https://dev-abc123.us.auth0.com/samlp/xyz789`, a URL de Metadados será `https://dev-abc123.us.auth0.com/samlp/metadata/xyz789`.
{% endhint %}

<div data-with-frame="true"><img src="/files/42f011447e4128abf3cebe1455b42f5c0ed757d5" alt="Auth0 - URL de Metadados SAML"></div>
{% endtab %}

{% tab title="OIDC" %}

### Configuração de OIDC

#### Crie uma aplicação no Auth0

1. Acesse o [Painel do Auth0](https://manage.auth0.com)
2. Navegue até **Aplicações**
3. Clique em **Aplicações**
4. Clique em **Criar aplicação**

<div data-with-frame="true"><img src="/files/680574d202d7470fc4226cf602190160fe5c12b1" alt="Auth0 - Criar aplicação"></div>

4. Configure o **Nome** (ex.: "Trust - Caf")
5. Selecione **Aplicações Web Regulares** e clique em **Criar**

<div data-with-frame="true"><img src="/files/33f8663f8ae1b957f8bca45193f17b7a5f30fdc9" alt="Auth0 - Selecione o tipo de aplicação"></div>

#### Configurar as configurações da aplicação

Na **Configurações** aba da aplicação, configure:

| Campo do Auth0                  | Valor                                       |
| ------------------------------- | ------------------------------------------- |
| **URLs de Callback Permitidas** | Cole o **URL de Resposta** copiado da Trust |

<div data-with-frame="true"><img src="/files/020523269fc7225463146bbfde281b0a62425287" alt="Auth0 - Configurações da aplicação"></div>

Clique em **Salvar**.

#### Obter credenciais

Na mesma **Configurações** aba, copie as seguintes informações:

| Campo do Auth0         | Use na Trust como                |
| ---------------------- | -------------------------------- |
| **Domínio**            | Use para montar a URL do Emissor |
| **ID do cliente**      | ID do cliente                    |
| **Segredo do cliente** | Segredo do cliente               |

<div data-with-frame="true"><img src="/files/1abfc0f8ecdf00d307d2cb56db57748cc413663d" alt="Auth0 - Credenciais do cliente"></div>

#### Obter URL do Emissor

A URL do Emissor do Auth0 segue o formato:

```
https://{your-domain}/
```

{% endtab %}
{% endtabs %}

***

## Ativar Conexões e Usuários

No Auth0, o acesso do usuário à aplicação é controlado pelas **Conexões**. Uma Connection é a fonte da identidade do usuário (banco de dados interno, login social, diretório corporativo etc.).

### Ative as conexões na aplicação

1. Na aplicação criada, acesse a **Conexões** aba
2. Ative as conexões nas quais seus usuários estão cadastrados

<div data-with-frame="true"><img src="/files/389efccc14bd2ff005d17ec57a3467aa0c979af3" alt="Auth0 - Conexões"></div>

| Tipo de conexão    | Descrição                                                                           |
| ------------------ | ----------------------------------------------------------------------------------- |
| **Banco de dados** | Usuários cadastrados diretamente no Auth0 (ex.: `Username-Password-Authentication`) |
| **Social**         | Login por provedores sociais (Google, Microsoft etc.)                               |
| **Empresarial**    | Conexões corporativas (SAML, OIDC, Azure AD etc.)                                   |

{% hint style="warning" %}
**Importante:** Se a Connection em que o usuário está cadastrado não estiver habilitada para a aplicação, o usuário não conseguirá fazer login.
{% endhint %}

## Próximas etapas

Após configurar o Auth0, retorne ao [Guia de Configuração de SSO da Trust](/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations.md) para:

1. [Configurar propriedades e escopos](/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations.md#step-2-select-protocol-and-obtain-data)
2. [Configurar grupos de permissão](/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations.md#step-3-configure-permission-groups)
3. [Configurar declarações de atributos](/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations.md#step-4-configure-attribute-statements)
4. [Configurar domínios](/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations.md#step-5-configure-domains)
5. [Salvar e testar](/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations.md#step-6-save-and-test)

***

## Solução de problemas

| Problema                | Causa provável               | Solução                                                                                |
| ----------------------- | ---------------------------- | -------------------------------------------------------------------------------------- |
| Erro na URL de callback | A URL não corresponde        | Verifique se a URL de resposta é exatamente a mesma em **URLs de Callback Permitidas** |
| Token inválido          | Segredo do cliente incorreto | Gere novamente o segredo do cliente no Auth0 e atualize-o na Trust                     |
| Grupos não recebidos    | Ação não configurada         | Configure a Action para incluir grupos em tokens/assertions                            |
| Asserção SAML inválida  | Audience incorreta           | Verifique se o **audience** no JSON do addon corresponde ao Identificador da Trust     |
| Usuário não encontrado  | Conexão não habilitada       | Verifique as conexões habilitadas em **Conexões** aba                                  |

***

## Referências

* [Documentação do Auth0 - SAML](https://auth0.com/docs/authenticate/protocols/saml)
* [Documentação do Auth0 - OIDC](https://auth0.com/docs/authenticate/protocols/openid-connect-protocol)
* [Configurar Actions](https://auth0.com/docs/customize/actions)
* [Adicionar claims personalizadas](https://auth0.com/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.caf.io/caf-docs/caf-product-guides-pt-br/guia-do-usuario/trust-platform/sso-configurations/auth0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
