Configurar o SSO do OIDC para aplicativos personalizados e de galeria

Este artigo mostra como configurar o Single Sign-On (SSO) com OpenID Connect (OIDC) no Microsoft Entra ID para aplicações da galeria e aplicações personalizadas (fora da galeria). Com o SSO do OIDC, seus usuários podem entrar em aplicativos usando suas credenciais do Microsoft Entra, fornecendo uma experiência de autenticação perfeita.

O OIDC é um protocolo de autenticação criado com base no OAuth 2.0 que permite a autenticação segura do usuário e o logon único. Para obter informações detalhadas sobre o protocolo OIDC, consulte a autenticação OIDC com a plataforma de identidade da Microsoft.

Recomendamos que você use um ambiente de não produção para testar as etapas neste artigo.

Antes de configurar o SSO do OIDC, é útil entender os seguintes conceitos principais:

Pré-requisitos

Para configurar o SSO baseado em OIDC, é necessário:

  • Uma conta de usuário do Microsoft Entra. Se você ainda não tiver uma, poderá criar uma conta gratuitamente.
  • Uma das seguintes funções:
    • Administrador de Aplicativos na Nuvem
    • Administrador de Aplicativos
    • Proprietário da entidade de serviço
  • Para aplicativos personalizados: detalhes sobre seu aplicativo, incluindo seus URIs de redirecionamento e requisitos de autenticação

Os aplicativos da galeria no Microsoft Entra ID vêm pré-configurados com suporte do OIDC, tornando a configuração simples por meio de um processo baseado em consentimento.

Ao adicionar um aplicativo empresarial que usa o padrão OIDC para SSO, selecione o botão Inscrever-se . O botão fica no painel direito quando você seleciona o aplicativo na galeria de aplicativos. Ao selecionar o botão, você realiza o processo de inscrição do aplicativo.

Para configurar o SSO baseado em OIDC para um aplicativo da galeria:

  1. Entre no Centro de administração do Microsoft Entra como pelo menos um Administrador de Aplicativos na Nuvem.

  2. Navegue até o Entra ID>Aplicativos empresariais>Todos os aplicativos.

  3. No painel Todos os aplicativos , selecione Novo aplicativo.

  4. O painel Explorar Galeria do Microsoft Entra é aberto. Neste exemplo, usamos o SmartSheet.

  5. Selecione Inscrever-se no SmartSheet. Entre usando as credenciais da conta de usuário do Microsoft Entra ID. Se você já tem uma assinatura do aplicativo, os detalhes do usuário e as informações do locatário são validadas. Se o aplicativo não conseguir verificar o usuário, ele redirecionará você para se inscrever no serviço de aplicativo.

    Conclua a tela de consentimento de um aplicativo.

    Depois de inserir as credenciais de entrada, a tela de consentimento será exibida. A tela de consentimento fornece informações sobre o aplicativo e as permissões necessárias.

  6. Selecione Consentimento em nome da sua organização e, em seguida, selecione Aceitar. O aplicativo é adicionado ao seu locatário e a página inicial do aplicativo é exibida.

Entre em contato com o fornecedor do aplicativo para saber mais sobre as etapas de configuração adicionais necessárias para o aplicativo.

Observação

Você pode adicionar apenas uma instância de um aplicativo da galeria. Depois de adicionar um aplicativo e tentar fornecer consentimento novamente, você não poderá adicioná-lo novamente ao locatário.

Para obter mais informações sobre o consentimento do usuário e do administrador, consulte Noções básicas sobre o consentimento do usuário e do administrador. Para obter informações abrangentes sobre a estrutura de consentimento, consulte Permissões e consentimento na plataforma de identidade da Microsoft.

Para aplicativos não disponíveis na galeria do Microsoft Entra, você precisa registrar e configurar manualmente o aplicativo. Esta seção fornece diretrizes passo a passo para configurar o SSO do OIDC com um aplicativo personalizado.

Etapa 1: Registrar seu aplicativo

  1. Entre no Centro de administração do Microsoft Entra como pelo menos um Administrador de Aplicativos na Nuvem.
  2. Navegue até registros de aplicativos>Entra ID>Novo registro.
  3. Insira um nome para seu aplicativo (por exemplo, "Meu aplicativo Web personalizado").
  4. Em tipos de conta com suporte, selecione a opção apropriada:
    • Somente contas neste diretório organizacional para aplicativos de inquilino único
    • Contas em qualquer diretório organizacional para obter mais informações sobre aplicativos multilocatários, consulte aplicativos multilocatários
    • Contas em qualquer diretório organizacional e contas pessoais da Microsoft se você quiser dar suporte a contas corporativas/de estudante e pessoais
  5. Para o URI de Redirecionamento, selecione o tipo de plataforma e insira o URI de redirecionamento do aplicativo:
    • Web: Para aplicativos Web do lado do servidor (por exemplo, https://contoso.com/auth/callback)
    • SPA (aplicativo de página única): para aplicativos do lado do cliente usando fluxos de autenticação modernos (por exemplo, https://contoso.com ou http://localhost:3000 para desenvolvimento)
    • Cliente público/nativo: para aplicativos móveis e desktop
  6. Selecione Registrar.

Etapa 2: Definir configurações de autenticação

  1. No registro do aplicativo, navegue até Autenticação.

  2. Verifique se os URIs de redirecionamento estão configurados corretamente para o tipo de plataforma.

  3. Configurar fluxos de autenticação (importante para segurança):

    Para aplicativos Single-Page (SPAs):

    • Verifique se os URIs de redirecionamento estão listados na plataforma de aplicativo de página única . Essa opção configura automaticamente o fluxo de código de autorização seguro com o PKCE, que é a abordagem recomendada para SPAs
    • NÃO habilite a opção de concessão implícita, a menos que seja necessário para aplicativos herdados

    Para aplicativos Web:

    • Verifique se os URIs de redirecionamento estão listados na plataforma Web . Essa opção configura o fluxo de código de autorização padrão.

    Aviso

    O fluxo de concessão implícita não é recomendado para novos aplicativos devido a vulnerabilidades de segurança, incluindo vazamento de token no histórico do navegador. Em vez disso, a Microsoft recomenda usar o fluxo de Código de Autorização com PKCE para aplicativos de página única. Habilite essas opções somente se você tiver um aplicativo herdado que não possa ser atualizado para dar suporte a fluxos mais seguros e entender os riscos de segurança associados.

    Para obter mais informações sobre fluxos de autenticação, consulte os fluxos de autenticação da plataforma de identidade da Microsoft.

Etapa 3: Configurar credenciais do cliente (para aplicativos Web)

Se o aplicativo for um cliente confidencial (aplicativo Web do lado do servidor que pode armazenar segredos com segurança):

  1. Navegue até Certificados & segredos.
  2. Selecione Novo segredo do cliente.
  3. Adicione uma descrição e selecione um período de expiração.
  4. Selecione Adicionar e copie o valor do segredo imediatamente (ele não pode ser mostrado novamente).
  5. Armazene o segredo do cliente com segurança na configuração do aplicativo.

Dica

Para aplicativos de produção, considere o uso de certificados em vez de segredos do cliente para segurança aprimorada. Consulte as credenciais do Certificado.

Etapa 4: Configurar permissões de API

  1. Navegue até permissões de API.
  2. A User.Read permissão para o Microsoft Graph é adicionada por padrão.
  3. Para autenticação OIDC, normalmente você precisa dessas permissões delegadas:
    • openid: necessário para autenticação OIDC
    • perfil: Para acessar as informações de perfil do usuário
    • email: Para acessar o endereço de email do usuário
  4. Para adicionar mais permissões:
    • Selecione Adicionar uma permissão
    • Escolha Microsoft Graph
    • Selecione Permissões delegadas
    • Pesquise e selecione as permissões necessárias (por exemplo, openid, perfil, email)
    • Selecione Adicionar permissões
  5. Se seu aplicativo exigir permissões que precisam de consentimento do administrador, selecione Conceder consentimento do administrador para [seu locatário].

Para obter uma introdução às permissões e consentimento, consulte Permissões e consentimento na plataforma de identidade da Microsoft.

Etapa 5: Configurar declarações opcionais (se necessário)

  1. Navegue até a configuração de Token.
  2. Selecione Adicionar declaração opcional.
  3. Escolha as declarações opcionais que você deseja adicionar (por exemplo, email, , given_name). family_name
  4. Selecione Adicionar para aplicar as alterações.

Etapa 6: Reunir detalhes do aplicativo

Após o registro e a configuração, colete as seguintes informações necessárias para seu aplicativo:

  1. Na página Visão geral , observe:
    • ID do aplicativo (cliente): identificador exclusivo do aplicativo
    • ID do diretório (locatário): identificador exclusivo do locatário
  2. Selecione Endpoints para exibir os metadados e os Endpoints do OIDC:
    • Documento de metadados OIDC: https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid_configuration
    • Ponto de extremidade de autorização: para iniciar fluxos de autenticação
    • Ponto de extremidade de token: para trocar códigos de autorização por tokens
    • URI JWKS: para validação de assinatura de token

Esses detalhes são usados na configuração da biblioteca OIDC do aplicativo.

Etapa 7: Configurar o código do aplicativo

Use as informações coletadas para configurar a biblioteca OIDC do aplicativo com:

  • ID do cliente: A ID do aplicativo (cliente) da etapa 5
  • Segredo do cliente: se aplicável (para aplicativos Web)
  • URI de redirecionamento: o mesmo URI configurado na etapa 1
  • Autoridade/Emissor: https://login.microsoftonline.com/{tenant}/v2.0/ (substitua {tenant} pela ID do locatário)
  • Escopos: normalmente openid profile email para uma autenticação OIDC básica

Para obter diretrizes de implementação específicas, consulte o fluxo de Código de Autorização com PKCE para aplicativos Web.

Etapa 8: Testar a configuração do SSO do OIDC

  1. Usando uma ferramenta online: você pode testar o fluxo de autenticação básico usando https://jwt.ms:

    • Construa uma URL de entrada: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?client_id={client_id}&response_type=id_token&redirect_uri=https://jwt.ms&scope=openid&nonce={random_value}
    • Substituir {tenant} e {client_id} por seus valores
    • Navegue até essa URL em um navegador para testar o fluxo de autenticação
  2. Em seu aplicativo: integre a biblioteca OIDC em seu aplicativo e teste a experiência de entrada completa.

  3. Atribuir usuários: navegue até aplicativos Empresariais, localize seu aplicativo e atribua usuários ou grupos em Usuários e grupos.

Considerações sobre aplicativos multitenant

Se o aplicativo precisar dar suporte a usuários de várias organizações:

  • Configurar o registro do aplicativo com contas em qualquer diretório organizacional
  • Use o endpoint comum: https://login.microsoftonline.com/common/
  • Implementar a validação adequada de tenant na lógica da aplicação web

Para obter diretrizes detalhadas, consulte Como converter seu aplicativo para ser multilocatário.

Solução de problemas comuns

  • URI de redirecionamento inválido: verifique se o URI de redirecionamento no registro do aplicativo corresponde exatamente ao que seu aplicativo envia
  • Problemas de consentimento: verifique se o consentimento do administrador é necessário para as permissões solicitadas
  • Erros de validação de token: verifique se você está usando o URI JWKS correto e validando a assinatura do token
  • Problemas com vários locatários: verifique se você está usando o ponto de extremidade correto (comum versus específico do locatário)

Para obter diretrizes abrangentes de solução de problemas, consulte os códigos de erro da plataforma de identidade da Microsoft.