> ## Documentation Index
> Fetch the complete documentation index at: https://docs.morada.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Entra ID

> Configure o SSO empresarial na Morada.ai usando o Microsoft Entra ID (Azure AD) da sua organização.

Este guia detalha a configuração do SSO com **Microsoft Entra ID (Azure AD)** — o cenário mais comum entre clientes que já utilizam o ecossistema Microsoft.

A autenticação na plataforma passa pelo [Morada ID](/guias/admin/morada-id) (`id.morada.ai`), que se conecta ao Entra ID da sua organização:

```text theme={null}
Usuário → Plataforma Morada → Morada ID → Microsoft Entra ID → Morada ID → Plataforma Morada
```

Após a ativação, o fluxo esperado é:

1. O usuário acessa a plataforma Morada.ai
2. Informa o e-mail corporativo (ex.: `usuario@suaempresa.com.br`)
3. É redirecionado automaticamente para o login Microsoft da organização
4. Após autenticação (incluindo MFA, se configurado), retorna autenticado à plataforma

<Info>
  A Morada configura a conexão SSO no Morada ID. Sua equipe de TI configura o App Registration no Entra ID e envia os dados necessários. Para iniciar, entre em contato: [support.morada.ai](https://support.morada.ai)
</Info>

## Pré-requisitos

Antes de iniciar, confirme que sua equipe de TI possui:

* Acesso de **Administrador** ao **Microsoft Entra ID** (Azure Portal)
* Permissão para criar **App Registrations** (Registros de aplicativo)
* Lista dos **domínios de e-mail** que utilizarão SSO (ex.: `suaempresa.com.br`)
* Usuários de teste já cadastrados na plataforma Morada com e-mail nesses domínios

<Warning>
  Usuários precisam estar previamente cadastrados na plataforma Morada. Solicite o convite ou cadastro à Morada antes de testar o SSO.
</Warning>

## Configuração no Entra ID (OIDC)

<Tip>
  Recomendamos **OIDC** por ser mais simples de configurar e manter. Se sua política de segurança exigir SAML, consulte a seção [Configuração SAML no Entra ID](#configuração-saml-no-entra-id) ao final deste guia.
</Tip>

<Steps>
  <Step title="Criar o registro de aplicativo">
    1. Acesse o [Portal Azure](https://portal.azure.com)
    2. Vá em **Microsoft Entra ID** → **App registrations** → **New registration**
    3. Preencha os campos:

    | Campo                       | Valor                                                               |
    | --------------------------- | ------------------------------------------------------------------- |
    | **Name**                    | `Morada.ai SSO`                                                     |
    | **Supported account types** | *Accounts in this organizational directory only* (Single tenant)    |
    | **Redirect URI**            | Tipo: **Web** → `https://id.morada.ai/auth/openid_connect/callback` |

    4. Clique em **Register**

    <Warning>
      A Redirect URI deve ser **exatamente** `https://id.morada.ai/auth/openid_connect/callback` — sem barra final e sem variações.
    </Warning>
  </Step>

  <Step title="Anotar identificadores">
    Na página **Overview** do aplicativo, anote:

    | Campo                       | Onde encontrar                     |
    | --------------------------- | ---------------------------------- |
    | **Application (client) ID** | Overview → Application (client) ID |
    | **Directory (tenant) ID**   | Overview → Directory (tenant) ID   |

    Envie esses valores à Morada junto com as demais informações da seção abaixo.
  </Step>

  <Step title="Criar client secret">
    1. Vá em **Certificates & secrets** → **Client secrets** → **New client secret**
    2. Defina uma descrição (ex.: `Morada SSO`) e validade conforme política interna
    3. **Copie o Value imediatamente** — ele só é exibido uma vez

    <Warning>
      Envie o Client Secret **somente por canal seguro** — por exemplo, Bitwarden Send, 1Password ou cofre corporativo equivalente. **Nunca** envie por e-mail, WhatsApp, Slack ou chat comum. Se o segredo trafegar por um desses canais, revogue-o no Entra ID e gere um novo.
    </Warning>
  </Step>

  <Step title="Configurar permissões de API">
    1. Vá em **API permissions** → **Add a permission**
    2. Selecione **Microsoft Graph** → **Delegated permissions**
    3. Adicione: `openid`, `email`, `profile`, `User.Read`
    4. Clique em **Grant admin consent for \[sua organização]**
  </Step>

  <Step title="Configurar claims do token">
    1. Vá em **Token configuration** → **Add optional claim**
    2. Selecione **ID**
    3. Adicione: `email`, `given_name`, `family_name`
    4. Salve

    Isso garante que e-mail e nome do usuário sejam enviados corretamente ao Morada ID.
  </Step>

  <Step title="Atribuir usuários ao aplicativo">
    1. Vá em **Enterprise applications** → localize `Morada.ai SSO`
    2. Em **Users and groups**, adicione os grupos ou usuários que terão acesso

    Somente usuários atribuídos conseguirão autenticar via SSO.
  </Step>
</Steps>

## Informações a enviar à Morada

Após concluir a configuração no Entra ID, envie:

| Informação                  | Exemplo                                         |
| --------------------------- | ----------------------------------------------- |
| **Domínios de e-mail**      | `suaempresa.com.br`                             |
| **Application (Client) ID** | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`          |
| **Directory (Tenant) ID**   | `yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy`          |
| **Client Secret**           | Enviar via Bitwarden Send ou cofre equivalente  |
| **Contato técnico**         | Nome, e-mail e telefone                         |
| **Usuários de teste**       | 1–2 e-mails já cadastrados na plataforma Morada |

A Morada utilizará esses dados para finalizar a conexão SSO e ativar o redirecionamento automático para o Entra ID da organização.

## Validação e testes

Após a Morada confirmar a ativação:

| # | Teste                                                           | Resultado esperado                                |
| - | --------------------------------------------------------------- | ------------------------------------------------- |
| 1 | Acessar a plataforma Morada e informar e-mail `@seudominio.com` | Redirecionamento para login Microsoft             |
| 2 | Autenticar com credencial corporativa                           | Retorno autenticado à plataforma                  |
| 3 | Tentar login com e-mail de outro domínio                        | Fluxo padrão Morada ID (sem redirect ao Entra ID) |
| 4 | Usuário não atribuído ao app no Entra ID                        | Acesso negado pelo Microsoft                      |

## Configuração SAML no Entra ID

Se a política de segurança exigir **SAML 2.0** em vez de OIDC, informe à Morada antes de iniciar. A Morada fornecerá:

| Campo                      | Valor (fornecido pela Morada)                   |
| -------------------------- | ----------------------------------------------- |
| **Identifier (Entity ID)** | `https://id.morada.ai/sso/{id-da-conexao}`      |
| **Reply URL (ACS)**        | `https://id.morada.ai/auth/saml/callback`       |
| **Sign on URL**            | `https://id.morada.ai/auth/sso/{id-da-conexao}` |
| **Metadata XML**           | URL fornecida pela Morada                       |

<Steps>
  <Step title="Criar Enterprise Application">
    **Enterprise applications** → **New application** → **Create your own application** → Non-gallery
  </Step>

  <Step title="Configurar SAML SSO">
    **Single sign-on** → **SAML** → importe o metadata XML da Morada ou preencha manualmente os campos acima
  </Step>

  <Step title="Configurar claims">
    * **Unique User Identifier (Name ID):** `user.mail` (formato e-mail)
    * **email:** `user.mail`
    * **name:** `user.displayname`
  </Step>

  <Step title="Enviar dados à Morada">
    Envie: **Entity ID**, **Login URL** e **Certificado (Base64)** do Entra ID
  </Step>
</Steps>

***

## FAQ

<AccordionGroup>
  <Accordion title="Qual a diferença entre SSO empresarial e login com Microsoft no Morada ID?">
    O **SSO empresarial** usa o Entra ID **da sua organização** — usuários com e-mail corporativo são redirecionados automaticamente pelo domínio. O botão **Entrar com Microsoft** no Morada ID é um login social global da Morada, disponível para contas pessoais ou corporativas fora do SSO federado. Veja também [Morada ID](/guias/admin/morada-id).
  </Accordion>

  <Accordion title="Preciso usar OIDC ou SAML com o Entra ID?">
    Recomendamos **OIDC** pela simplicidade de configuração. SAML continua disponível se exigido pela política de segurança da sua empresa.
  </Accordion>

  <Accordion title="O que fazer se aparecer o erro AADSTS50011?">
    Esse erro indica **Redirect URI mismatch**. Confirme que a URI registrada no Entra ID é exatamente `https://id.morada.ai/auth/openid_connect/callback`.
  </Accordion>

  <Accordion title="O que fazer se aparecer o erro AADSTS50105?">
    O usuário não está atribuído ao aplicativo. Adicione-o (ou o grupo correspondente) em **Enterprise applications** → **Users and groups**.
  </Accordion>

  <Accordion title="Por que um usuário autentica no Microsoft mas não entra na plataforma?">
    O usuário provavelmente ainda não está cadastrado na plataforma Morada. Solicite o convite ou cadastro à Morada antes de testar o SSO.
  </Accordion>

  <Accordion title="Como enviar o Client Secret com segurança?">
    Use um gerenciador de senhas com compartilhamento criptografado e expiração — por exemplo, Bitwarden Send ou cofre corporativo equivalente. Nunca envie por e-mail ou chat comum.
  </Accordion>
</AccordionGroup>

<Note>
  Para ativar o SSO empresarial ou tirar dúvidas sobre a configuração, entre em contato com nosso suporte: [support.morada.ai](https://support.morada.ai)
</Note>
