Simplificar la autenticación de Outline con Logto
En este artículo, demostraremos cómo usar Logto como un proveedor de identidad OpenID Connect (OIDC) para Outline.
Introducción
- Logto es una solución de identidad sin esfuerzo con todas las características que necesitas. Soporta varios métodos de inicio de sesión, incluyendo nombre de usuario, correo electrónico, número de teléfono y populares inicios de sesión sociales como Google y GitHub.
- Outline sirve como una base de conocimiento para equipos en crecimiento.
Lo mejor es que tanto Logto como Outline son de código abierto. En este artículo, demostraremos cómo usar Logto como un proveedor de identidad OpenID Connect (OIDC) para Outline.
Requisitos previos
Para comenzar, asegúrate de tener lo siguiente:
- Una instancia de Logto en funcionamiento o acceso a una cuenta de Logto Cloud.
- Un entorno de alojamiento de Outline con acceso a variables de entorno.
Configurar Logto
Si estás autoalojando Logto, consulta la documentación de Logto "Get started" para configurar tu instancia de Logto.
Abre la Consola de Logto ingresando la URL https://cloud.logto.io/
si estás utilizando Logto Cloud, o el punto de acceso que hayas configurado para el autoalojamiento.
A continuación, navega a la pestaña "Aplicaciones" y haz clic en "Crear aplicación".
En el modal que aparece, elige "Web tradicional" y proporciona un nombre de aplicación, como "Outline". Luego haz clic en "Crear aplicación".
Serás dirigido a una página de tutorial en Logto. Haz clic en "Saltar" en la esquina superior derecha para proceder a la página de detalles de la aplicación.
En la sección "URIs de redirección", ingresa el siguiente valor:
Por ejemplo, si estás alojando Outline en http://localhost:3000
, el valor debería ser:
Haz clic en el botón "Guardar cambios" en la parte inferior. Una vez exitoso, mantén esta página abierta ya que será útil para la configuración de Outline.
Configurar Outline
Sigue los pasos descritos en la guía de alojamiento de Outline hasta que alcances el paso de configuración de autenticación. Dado que Outline soporta proveedores de autenticación compatibles con OIDC por defecto, puedes encontrar fácilmente la mayoría de los valores de configuración requeridos en la página de detalles de la aplicación de Logto.
Consulta la siguiente tabla para obtener los detalles de configuración necesarios:
Variable de entorno de Outline | Nombre mostrado en Logto |
---|---|
OIDC_CLIENT_ID | App ID |
OIDC_CLIENT_SECRET | App Secret |
OIDC_AUTH_URI | Authorization Endpoint |
OIDC_TOKEN_URI | Token Endpoint |
OIDC_USERINFO_URI | Userinfo Endpoint |
Aquí tienes otra tabla con variables adicionales:
Variable de entorno de Outline | Descripción |
---|---|
OIDC_USERNAME_CLAIM | Establecer en username |
OIDC_DISPLAY_NAME | Opcional - personalizar según sea necesario |
OIDC_SCOPES | Mantener por defecto; no es necesario configurar |
Solo autoalojado: Configurar inicio de sesión por correo electrónico en Logto
Dado que Outline requiere que se proporcione el correo electrónico del usuario, necesitas configurar el inicio de sesión por correo electrónico o un inicio de sesión social que proporcione una dirección de correo electrónico confiable, como el inicio de sesión de Google.
Consulta Configurar conectores para obtener más información sobre cómo configurar conectores en Logto.
Punto de control: Probar la integración de Logto y Outline
Inicia la instancia de Outline y accede a su punto de acceso. Deberías ver un botón en el centro etiquetado como "Continuar con OpenID Connect"; se puede personalizar configurando la variable de entorno OIDC_DISPLAY_NAME
.
Haz clic en el botón y serás dirigido a la experiencia de inicio de sesión de Logto.
Si todo se ha configurado correctamente, una vez que completes el proceso de inicio de sesión o registro en Logto, serás redirigido de regreso a Outline. Luego podrás ver tu información personal mostrada en la esquina inferior izquierda de la página.
Si encuentras algún problema durante la integración, no dudes en contactarnos por correo electrónico a [email protected] o unirte a nuestro servidor de Discord!