Autenticación de Microsoft

:discourse: ¿Alojado por nosotros? Este plugin está disponible en nuestros planes Business y Enterprise. Inicios de sesión con Amazon y Microsoft | Discourse - Discusión civilizada

:discourse2: Resumen Permite a los usuarios iniciar sesión utilizando sus cuentas de Microsoft (también conocidas como cuentas de Office 365 o Microsoft 365).
:open_book: Guía de instalación Este plugin viene integrado con el núcleo de Discourse. No es necesario instalar el plugin por separado.

Resumen

La autenticación de Microsoft permite a los usuarios iniciar sesión en tu foro de Discourse utilizando sus cuentas de Microsoft (también conocidas como cuentas de Office 365 o Microsoft 365). Esto simplifica el proceso de inicio de sesión para las organizaciones que utilizan servicios de Microsoft.

Características

  • Permite a los usuarios iniciar sesión con sus credenciales de Microsoft
  • Admite configuraciones multiinquilino y de un solo inquilino
  • Se integra con Microsoft Azure Active Directory
  • Simplifica el registro y el inicio de sesión de usuarios

Configuración

Para configurar la autenticación de Microsoft en tu foro de Discourse:

  1. Visita la página de Registro de aplicaciones del Portal de Azure

  2. Registra una nueva aplicación:

    • Elige un nombre (normalmente el nombre de tu sitio)
    • En “Tipos de cuentas admitidas”, selecciona la opción más permisiva según tus necesidades

  3. Añade tu sitio como un URI de redireccionamiento para Web en este formato:

    • https://tu.foro.discourse/auth/microsoft_office365/callback

  4. Guarda los cambios

  5. Visita Certificados y secretos en el menú de la barra lateral izquierda y haz clic en Nuevo secreto de cliente

    • Añade una descripción sencilla
    • Selecciona 24 meses en “Expira” (nota: necesitarás renovarlo)
    • Copia el Valor (este es el Secreto de la aplicación) y guárdalo para la configuración de tu plugin
  6. Visita Resumen (en la barra lateral izquierda) y copia el ID de la aplicación (ID de cliente)

  7. En tu área de administración de Discourse, ve a Configuración y busca “microsoft auth”

  8. Introduce el ID de la aplicación y el Secreto de los pasos anteriores

Problemas de autenticación de un solo inquilino

Si has configurado tu aplicación de Microsoft como single_tenant (un solo inquilino), algunos usuarios pueden experimentar problemas al iniciar sesión. Esto ocurre porque los correos electrónicos utilizados para el inicio de sesión se consideran no confiables y el sistema no puede vincularlos automáticamente a las cuentas existentes de Discourse.

Para resolver este problema, los usuarios pueden:

  1. Buscar la sección “¿Ya tienes una cuenta?” en la parte inferior del formulario de registro
  2. Hacer clic en el enlace proporcionado para seguir el proceso de vinculación de cuentas
  3. Completar los pasos de autenticación para conectar su cuenta de Microsoft con su cuenta existente de Discourse

Otra opción es habilitar la configuración del sitio microsoft auth email verified, si los administradores están seguros de que todos los usuarios tienen correos electrónicos verificados. Esto asegura que los usuarios recurrentes con cuentas existentes no creen cuentas duplicadas al autenticarse a través de Microsoft.

Opciones de configuración adicionales

Puedes actualizar toda la configuración de la autenticación de Microsoft visitando el área de Administración > Configuración y buscando “microsoft auth”.

Para configuraciones de un solo inquilino, necesitarás tu ID de inquilino, que puedes encontrar en las propiedades del inquilino del Portal de Azure.

Recursos adicionales

25 Me gusta

Tengo problemas para usar ese complemento.
¿Podrías darme algún consejo?

Como me he vuelto a equivocar al actualizar mi configuración para este plugin, he creado esta PR:

El problema es que el panel de aplicaciones de Microsoft ofrece tres campos que parecen ser el ‘Secreto’: Client ID Value y ‘Secret ID’. Sin orientación, he elegido el incorrecto en ambas ocasiones en las que me he enfrentado a esto, ¡y sospecho que no soy el único!

Acabo de probar este plugin y no funciona para un solo inquilino.

¿Por qué?

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

La palabra “common” es el problema.
Parece que eso necesita ser reemplazado por el ID del inquilino para el inquilino único.
Si tienes una cuenta de MS, encontrarás tu ID de inquilino aquí: Microsoft Azure

Todavía no he intentado hacer el cambio yo mismo. Quizás lo haga.
Si no, cualquiera que esté pensando en usar esto para un solo inquilino, no tiene que intentarlo, actualmente no funcionará.

Vea la imagen adjunta a continuación como ejemplo del tipo de error que obtendrá.
image

Ok, nunca he programado con Ruby, y hace algunos años que no programo ni trabajo con cosas técnicas. Pero, ya está hecho. Y ahora también funciona para configuraciones de Inquilino Único (Single Tenant).

3 Me gusta

Disculpa el seguimiento muy, muy tardío aquí, ¡el PR anterior ya se fusionó!

2 Me gusta

¡Wohoo!

Mi primera contribución a la comunidad. No la última, creo. :slight_smile:

2 Me gusta

:partying_face: Este plugin ahora está incluido en el núcleo de Discourse como parte de Bundling more popular plugins with Discourse core. Si te autoalojas y usas el plugin, necesitas eliminarlo de tu app.yml antes de tu próxima actualización.