Autenticação da Microsoft

:discourse: Hospedado por nós? Este plugin está disponível em nossos planos Business e Enterprise. Logins da Amazon e Microsoft | Discourse - Discussão Civilizada

:discourse2: Resumo Permite que os usuários façam login usando suas contas da Microsoft (também conhecidas como contas do Office 365 ou Microsoft 365)
:open_book: Guia de Instalação Este plugin vem embutido no núcleo do Discourse. Não há necessidade de instalar o plugin separadamente.

Resumo

A Autenticação Microsoft permite que os usuários façam login no seu fórum Discourse usando suas contas da Microsoft (também conhecidas como contas do Office 365 ou Microsoft 365). Isso simplifica o processo de login para organizações que utilizam serviços da Microsoft.

Funcionalidades

  • Permite que os usuários façam login com suas credenciais da Microsoft
  • Suporta configurações de multi-tenant e single-tenant
  • Integra-se com o Microsoft Azure Active Directory
  • Simplifica o registro e o login dos usuários

Configuração

Para configurar a Autenticação Microsoft no seu fórum Discourse:

  1. Acesse a página de Registro de Aplicativos do Portal Azure

  2. Registre um novo aplicativo:

    • Escolha um nome (geralmente o nome do seu site)
    • Em “Tipos de conta suportados”, selecione a opção mais permissiva para suas necessidades

  3. Adicione seu site como um URI de Redirecionamento para Web neste formato:

    • https://seu.forum.discourse.com/auth/microsoft_office365/callback

  4. Salve suas alterações

  5. Acesse Certificados e segredos no menu da barra lateral esquerda e clique em Novo segredo de cliente

    • Adicione uma descrição simples
    • Selecione 24 meses em “Expira” (observe: você precisará renová-lo)
    • Copie o Valor (este é o Segredo do Aplicativo) e salve-o para as configurações do seu plugin
  6. Acesse Visão geral (na barra lateral esquerda) e copie o ID do Aplicativo (ID do cliente)

  7. Na área de administração do seu Discourse, vá em Configurações e pesquise por “microsoft auth”

  8. Insira o ID do Aplicativo e o Segredo das etapas anteriores

Problemas de autenticação single-tenant

Se você configurou seu aplicativo Microsoft como single_tenant, alguns usuários podem ter problemas ao fazer login. Isso acontece porque os e-mails usados para o login são considerados não confiáveis, e o sistema não consegue vinculá-los automaticamente às contas existentes do Discourse.

Para resolver esse problema, os usuários podem:

  1. Procurar a seção “Já tem uma conta?” na parte inferior do formulário de cadastro
  2. Clicar no link fornecido para passar pelo processo de vinculação de contas
  3. Concluir as etapas de autenticação para conectar sua conta Microsoft à sua conta Discourse existente

Outra opção é habilitar a configuração do site microsoft auth email verified, caso os administradores tenham certeza de que todos os seus usuários possuem e-mails verificados. Isso garante que os usuários recorrentes com contas existentes não criem contas duplicadas ao autenticar-se por meio da Microsoft.

Opções adicionais de configuração

Você pode atualizar todas as configurações da Autenticação Microsoft acessando a área Admin > Configurações e pesquisando por “microsoft auth”.

Para configurações single-tenant, você precisará do seu ID do locatário (tenant ID), que pode ser encontrado nas propriedades do locatário do Portal Azure.

Recursos adicionais

25 curtidas

Estou tendo problemas para usar esse plugin.
Você poderia me dar algum conselho?

Como já me confundi (novamente) ao atualizar minha configuração para este plugin, fiz este PR:

O problema é que o painel do aplicativo Microsoft oferece três campos com aparência provável para o ‘Segredo’ - Client ID Value e ‘Secret ID’. Sem orientação, escolhi o errado em ambas as ocasiões em que lidei com isso, e suspeito que não estou sozinho!

Acabei de testar este plugin e ele não funciona para tenant único.

Por quê?

option :client_options,
             site: "https://login.microsoftonline.com",
             authorize_url: "/common/oauth2/v2.0/authorize",
             token_url: "/common/oauth2/v2.0/token"

A palavra “common” é o problema.
Parece que isso precisa ser substituído pelo ID do tenant para o tenant único.
Se você tiver uma conta da Microsoft, encontrará seu ID de tenant aqui: Microsoft Azure

Ainda não tentei fazer a alteração. Talvez eu faça.
Se não, qualquer pessoa que esteja pensando em usar isso para tenant único, não precisa tentar, não funcionará no momento.

Veja a imagem anexada abaixo como exemplo do tipo de erro que você receberá.
image

Ok, nunca codifiquei com Ruby e faz alguns anos que não trabalho com codificação e coisas técnicas. Mas, está feito. E agora funciona também para configurações de Inquilino Único (Single Tenant).

3 curtidas

Desculpe pelo acompanhamento muito, muito atrasado, o PR acima foi mesclado!

2 curtidas

Uhu!\n\nMinha primeira contribuição para a comunidade. Acho que não será a última. :slight_smile:

2 curtidas

:partying_face: Este plugin agora está incluído no core do Discourse como parte de Bundling more popular plugins with Discourse core. Se você auto-hospeda e usa o plugin, precisa removê-lo do seu app.yml antes da sua próxima atualização.