Configuração de SSO
Configuração de SSO
Este guia é para o administrador de TI que conecta um provedor de identidade corporativo (IdP) ao InterMIND. Após a configuração, os membros entram pela página de login padrão: Entrar com SSO → e-mail corporativo → seu IdP → de volta ao InterMIND. Para a visão geral não técnica, consulte a página do recurso Single Sign-On.
Disponível em: planos Business e Enterprise Configurado por: proprietário da equipe ou administrador Protocolo: apenas OpenID Connect (OIDC). SAML 2.0 não é oferecido — Okta, Microsoft Entra ID e Google Workspace oferecem suporte a OIDC.
Pré-requisitos
- Um domínio verificado — verifique seu domínio de e-mail por meio de um registro TXT de DNS primeiro (consulte Gerenciamento de Domínios). O login via SSO aceita apenas contas cujo domínio de e-mail sua equipe tenha verificado; este é o limite do tenant.
- Um IdP que oferece suporte a OIDC com discovery — ele deve servir
/.well-known/openid-configurationsob a Issuer URL. Okta, Microsoft Entra ID e Google oferecem suporte.
O que registrar em seu IdP
Crie um Aplicativo Web OIDC em seu IdP com:
| Configuração | Valor |
|---|---|
| Redirect URI (callback) | https://intermind.com/api/auth/sso/callback — também exibido no cartão de SSO após selecionar OIDC |
| Grant type | Authorization Code (PKCE S256 é usado automaticamente) |
| Scopes | openid email profile |
O ID token emitido por seu IdP deve incluir o email do usuário, e o domínio do e-mail deve ser um de seus domínios verificados — caso contrário, o login é recusado.
Em seguida, preencha o cartão de SSO na página de Integrações:
| Campo | O que colar |
|---|---|
| Display Name | Qualquer rótulo que seus membros reconheçam |
| Issuer URL | O issuer do seu IdP — a URL que serve /.well-known/openid-configuration |
| Authorization URL | O authorization_endpoint daquele documento de discovery |
| Client ID / Client Secret | Do aplicativo que você registrou |
O client secret é criptografado em repouso e nunca retornado ao navegador após salvar.
Okta
- Console de administração → Applications → Create App Integration → método de login OIDC, tipo de aplicação Web Application
- Sign-in redirect URI:
https://intermind.com/api/auth/sso/callback - Atribua os usuários ou grupos que devem ter acesso
- Copie o Client ID e o Client Secret
- No InterMIND: Issuer URL = a URL da sua organização no Okta (ex.:
https://acme.okta.com, ou o issuer do seu authorization server, comohttps://acme.okta.com/oauth2/default, se usar um); Authorization URL = oauthorization_endpointde<issuer>/.well-known/openid-configuration
Microsoft Entra ID (Azure AD)
- Centro de administração do Entra → App registrations → New registration
- Plataforma Web, redirect URI
https://intermind.com/api/auth/sso/callback - Certificates & secrets → New client secret — copie o Value do secret imediatamente
- Client ID = o Application (client) ID na página Overview
- Certifique-se de que o ID token contenha o e-mail do usuário: Token configuration → Add optional claim → ID → email
- No InterMIND: Issuer URL =
https://login.microsoftonline.com/<tenant-id>/v2.0; Authorization URL =https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
Google Workspace
Não é necessário registrar um aplicativo. No cartão de SSO, escolha o tipo de provedor Google Workspace e salve — membros em seus domínios verificados entram com sua conta do Google e ingressam na sua equipe automaticamente. (O Google também pode ser conectado como um provedor OIDC genérico com issuer https://accounts.google.com, se você preferir client credentials explícitos.)
Testar a conexão
- Abra a página de login em uma janela privada/anônima
- Clique em Entrar com SSO e insira um e-mail corporativo em seu domínio verificado
- Você é redirecionado para seu IdP; após a autenticação, você retorna ao InterMIND logado
- O login é registrado no log de auditoria da equipe (exportável pela página Usuários) como
auth.logincom o métodosso
Solução de problemas
| Sintoma | Causa |
|---|---|
| "SSO is not configured" após inserir o e-mail | Nenhuma configuração de SSO habilitada corresponde àquele domínio de e-mail — verifique se o domínio está verificado e se o cartão de SSO foi salvo |
SSO login is not available: plan | O plano da equipe não inclui mais SSO |
SSO login is not available: domain-not-verified | O domínio ainda está com verificação de DNS pendente |
SSO login is not available: config-incomplete | Client ID ou Client Secret ausente — salve o cartão de SSO novamente |
SSO login is not available: type-unsupported | O tipo de provedor armazenado não é um dos que o fluxo de login implementa — exclua a configuração de SSO e crie-a novamente como OIDC ou Google Workspace |
SSO IdP discovery failed | A Issuer URL está incorreta ou não serve /.well-known/openid-configuration |
| "login session expired, start again" | Mais de 5 minutos se passaram entre o início do login e o callback do IdP |
| Login recusado após o IdP redirecionar de volta | O IdP retornou um e-mail fora de seus domínios verificados, ou nenhuma claim de email (Entra: adicione a claim opcional de e-mail) |
Propriedades de segurança
Para questionários de segurança: o fluxo de SSO é Authorization Code com PKCE (S256), state e nonce; a assinatura do ID token é validada contra o JWKS do IdP, junto com issuer e audience; o IdP é autoritativo apenas para domínios verificados via DNS — uma asserção para qualquer outro e-mail nunca produz uma sessão; o OIDC client secret é criptografado em repouso; todo login via SSO é registrado no log de auditoria da equipe. As validações de plano, domínio e configuração são aplicadas no servidor tanto no início do login quanto no callback.