Optimiza la autenticación OAuth y OIDC con Logto
Nuestra comunidad ha expresado interés en usar Logto como Proveedor de Identidad para ciertos productos, como complementos de Outline o ChatGPT. En teoría, Logto puede servir como proveedor OAuth o OIDC (OpenID Connect) siempre que el producto que deseas integrar soporte cualquiera de estos protocolos.
Logto es una solución de identidad fácil de usar que ofrece todas las funciones necesarias. Soporta varios métodos de inicio de sesión como nombres de usuario, correos electrónicos, números de teléfono y inicios de sesión sociales populares como Google y GitHub. Ya seas un individuo o una empresa de cualquier tamaño, Logto proporciona la solución perfecta de Gestión de Identidad y Acceso de Clientes (CIAM) adaptada a las necesidades específicas de tu proyecto.
Introducción
Nuestra comunidad ha expresado interés en usar Logto como Proveedor de Identidad para ciertos productos, como complementos de Outline o ChatGPT. En teoría, Logto puede servir como un proveedor OAuth 2.0 (OAuth) o OpenID Connect (OIDC) siempre que el producto que deseas integrar soporte cualquiera de estos protocolos.
En este artículo, ofrecemos un tutorial general para integraciones OAuth o OIDC usando Logto como Proveedor de Identidad. Además, proporcionamos tutoriales dedicados para integraciones específicas, incluyendo:
- Implementar la autenticación de usuarios de complementos de ChatGPT con Logto
- Simplificar la autenticación de Outline con Logto
Aunque ciertos detalles pueden diferir entre productos, la configuración fundamental permanece genérica. Si tienes alguna pregunta o necesitas más asistencia, te animamos a unirte a nuestro servidor de Discord para discutir más.
¡Vamos a empezar!
Requisitos previos
Antes de comenzar, asegúrate de tener lo siguiente:
- Una instancia de Logto funcionando o acceso a una cuenta de Logto Cloud.
- Un producto que soporte un proveedor de identidad OAuth o OIDC de terceros (referido como "el producto").
Configurar Logto
Si estás autoalojando Logto, consulta la documentación "Empieza" de Logto para configurar tu instancia de Logto.
Abre la Consola de Logto accediendo a la URL https://cloud.logto.io/
si estás usando Logto Cloud, o usa el punto de acceso que has configurado para el autoalojamiento.
Crear aplicación
Ve 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 "Mi App". Haz clic en "Crear aplicación".
Serás dirigido a una página de tutorial en Logto. Haz clic en "Omitir" en la esquina superior derecha para proceder a la página de detalles de la aplicación.
Configurar URI de redirección
En la sección de "URIs de redirección", ingresa el valor proporcionado en la documentación del producto. Usualmente, es dinámico basado en tu ID o configuración del punto de acceso en el producto. Por ejemplo, en complementos de ChatGPT, el URI de redirección es:
https://chat.openai.com/aip/[tu-id-del-complemento]/oauth/callback
Si tu ID del complemento es foo123
, el valor debería ser:
https://chat.openai.com/aip/foo123/oauth/callback
Alternativamente, puede ser referido como "URL de redirección," "URI de callback," o "URL de callback.”
Opcional: Asegúrate de que Logto emita Token de actualización
Algunos productos pueden requerir un Token de actualización al enviar solicitudes de intercambio de token a Logto. Para OAuth, solo necesitas asegurarte de que el alcance offline_access
esté incluido. Según el protocolo OIDC, por defecto, el producto también debe agregar el parámetro de búsqueda prompt=consent
en la solicitud de autorización inicial para el flujo de Código de Autorización; de lo contrario, no se emitirá ningún Token de actualización.
Si el producto usa OAuth o no agrega el parámetro prompt=consent
o el alcance offline_access
pero requiere un Token de actualización (por ejemplo, complementos de ChatGPT), desplázate hacia abajo a la sección de "Configuración avanzada" y habilita "Siempre emitir Token de actualización."
¡Eso es todo!
Haz clic en el botón "Guardar cambios" en la parte inferior. Mantén esta página abierta ya que será útil para mayor configuración.
Configurar el producto
Sigue los pasos descritos en la documentación del producto para la configuración de OAuth u OIDC.
Configuración básica
La mayoría de los valores necesarios para la configuración pueden encontrarse en la página de detalles de la aplicación de Logto. Algunos nombres pueden tener alias, así que consulta la siguiente tabla como referencia:
Nombre de Logto | Alias | Uso |
---|---|---|
ID de la aplicación | ID de la aplicación, ID del cliente | |
Secreto de la aplicación | Secreto de la aplicación, Secreto del cliente | |
URI de redirección | URL de redirección, URI de callback, URL de callback | Redirección después de iniciar sesión |
URIs de redirección post cierre de sesión | URL de redirección post cierre de sesión, URI de cerrar sesión (redireccionar), URL de cerrar sesión (redireccionar) | Redirección después de cerrar sesión |
Punto de acceso de autorización | URI de autorización, URL de autorización, Punto de acceso de autentificación, URL de autentificación, URI de autentificación | Autentificación inicial |
Punto de acceso de token | URL de token, URI de token | Solicitud de concesión de token |
Punto de acceso de información del usuario | URL de información del usuario, URI de información del usuario, Punto de acceso de información del usuario, URL de información del usuario, URI de información del usuario | Obtener la información del usuario actual |
Para productos modernos, un "punto de acceso de descubrimiento" puede ser suficiente. En tales casos, reemplaza auth
con .well-known/openid-configuration
en el Punto de acceso de autorización. Por ejemplo, si el Punto de acceso de autorización es https://default.logto.app/oidc/auth
, el punto de acceso de descubrimiento sería https://default.logto.app/oidc/.well-known/openid-configuration
.
Opcional: Configuración de alcance
Si el producto admite OIDC o requiere que se emita un Token de ID, añade openid profile
a la configuración de alcance. Consulta la tabla de alcance de declaración a continuación:
Declaración | Tipo | Alcance requerido |
---|---|---|
sub | cadena | openid |
name | cadena | profile |
username | cadena | profile |
picture | cadena | profile |
cadena | ||
email_verified | boolean | |
phone_number | cadena | phone |
phone_number_verified | boolean | phone |
Punto de control: Prueba la integración de Logto
Haz clic en el botón de inicio de sesión en el producto, serás dirigido a la experiencia de inicio de sesión de Logto.
Si todo está configurado correctamente, una vez que completes el proceso de inicio de sesión o registro en Logto, serás redirigido de vuelta al producto sin errores.
Y eso concluye nuestra guía sobre cómo optimizar la autenticación OAuth y OIDC con Logto. Si encuentras algún problema durante la integración, no dudes en contactarnos por correo electrónico en [email protected] o únete a nuestro servidor de Discord!