> 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/generic.md).

# Provedor Genérico (SAML / OIDC)

Este guia explica como configurar a integração de SSO entre o Trust e qualquer provedor de identidade compatível com `SAML 2.0` ou `OpenID Connect` (`OIDC`). Use este guia para provedores como Google Workspace, Keycloak, OneLogin, entre outros.

{% 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 provedor de identidade
* Acesso de administrador à Trust
* Provedor compatível com `SAML 2.0` ou `OpenID Connect` / `OAuth 2.0`
* Domínio de e-mail corporativo verificado

***

## Escolha o protocolo

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

### Configuração SAML

#### Criar aplicação no provedor

Acesse o painel administrativo do seu provedor de identidade e crie uma nova `SAML 2.0` aplicação. As etapas variam dependendo do provedor, mas geralmente incluem:

1. Criar nova aplicação / integração SAML
2. Selecione **SAML 2.0** tipo
3. Configure o **URL ACS** (URL de resposta do Trust)
4. Configure o **ID da entidade** (identificador do Trust)

#### Configurar as configurações de SAML

Configure os campos a seguir no provedor:

| Campo do provedor                     | Valor                               |
| ------------------------------------- | ----------------------------------- |
| **URL ACS / URL de Login Único**      | Cole o **URL de Resposta** da Trust |
| **ID da entidade / URI de audiência** | Cole o **Identificador** da Trust   |

#### Configurar declarações de atributos

Configure os atributos que serão enviados ao Trust:

| Nome          | Valor (exemplo)    |
| ------------- | ------------------ |
| `email`       | `user.email`       |
| `nome`        | `user.displayName` |
| `given_name`  | `user.firstName`   |
| `family_name` | `user.lastName`    |

#### Configurar declarações de atributo de grupo (opcional)

Se você quiser usar mapeamento personalizado de grupos:

| Nome     | Valor                                                    |
| -------- | -------------------------------------------------------- |
| `grupos` | Grupos de usuários (o formato varia conforme o provedor) |

#### Obter URL de Metadados

Depois de criar a aplicação, copie o **URL de Metadados**. A URL geralmente segue um formato semelhante a:

```
https://{your-provider}/app/{app-id}/sso/saml/metadata
```

{% hint style="info" %}
**Dica:** Alguns provedores permitem baixar o arquivo XML de metadados. Nesse caso, você pode hospedar o arquivo ou usar a URL direta de download.
{% endhint %}

{% hint style="warning" %}
**Importante:** Consulte a documentação do seu provedor para confirmar os nomes exatos dos atributos SAML.
{% endhint %}
{% endtab %}

{% tab title="OIDC" %}

### Configuração de OIDC

#### Criar aplicação no provedor

Acesse o painel administrativo do seu provedor de identidade e crie uma nova `OIDC` / `OAuth 2.0` aplicação. As etapas variam dependendo do provedor, mas geralmente incluem:

1. Criar nova aplicação / cliente
2. Selecione **Aplicativo Web** ou **No lado do servidor** tipo
3. Configurar **Tipo de concessão**: Código de autorização
4. Insira o **URI de redirecionamento** (URL de resposta do Trust)

#### Obter credenciais do provedor

Depois de criar a aplicação, copie as informações a seguir:

| Campo do provedor      | Descrição                                     |
| ---------------------- | --------------------------------------------- |
| **ID do cliente**      | Identificador exclusivo da aplicação          |
| **Segredo do cliente** | Chave secreta para autenticação               |
| **URL do emissor**     | URL base do provedor (endpoint de descoberta) |

{% hint style="info" %}
**Dica:** Os `URL do emissor` geralmente pode ser encontrado no `/.well-known/openid-configuration` endpoint.
{% endhint %}

{% hint style="warning" %}
**Importante:** Consulte a documentação do seu provedor para confirmar os nomes exatos das claims.
{% endhint %}
{% endtab %}
{% endtabs %}

***

## Próximas etapas

Depois de configurar o provedor, 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:

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 de redirecionamento    | A URI não corresponde                               | Verifique se a URL de resposta é idêntica em ambos os sistemas                         |
| Token inválido (OIDC)       | Segredo do cliente incorreto                        | Verifique ou regenere o Client Secret                                                  |
| Certificado inválido (SAML) | Certificado expirado                                | Atualize o certificado no provedor e a URL de metadados no Trust                       |
| Claims não recebidas        | Escopos insuficientes ou atributos não configurados | Adicione os escopos necessários (OIDC) ou configure as declarações de atributos (SAML) |
| Emissor inválido            | URL incorreta                                       | Verifique a URL do emissor no `/.well-known/openid-configuration` endpoint             |
| Erro de assinatura (SAML)   | Metadados desatualizados                            | Atualize a URL de metadados no Trust                                                   |
| Erro de CORS                | Provedor bloqueia solicitações                      | Configure as origens permitidas no provedor                                            |

***

## Referências

* [Especificação OpenID Connect](https://openid.net/connect/)
* [RFC do OAuth 2.0](https://datatracker.ietf.org/doc/html/rfc6749)
* [Especificação SAML 2.0](https://docs.oasis-open.org/security/saml/v2.0/)


---

# 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/generic.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.
