• Bienvenido a XenForo Hispano. Somos una comunidad independiente sin vínculos comerciales ni legales con XenForo Ltd. Ofrecemos asistencia en español para su software y traducciones exclusivas de complementos oficiales y de terceros.

XF 2.3 Inicio de sesión único y más con OAuth2 en XenForo 2.3

https://ginernet.com/cdn/imagenes/banners/720x90-es.gif
1699392204584.png
Nos acercamos al final de la serie "¿Has visto...?" para XenForo 2.3. Aunque pueda parecer un momento agridulce, hemos dejado intencionadamente para el final una de las revelaciones más emocionantes. En las próximas semanas, es posible que profundicemos en algunos cambios y mejoras más y que ofrezcamos un resumen más centrado en los desarrolladores. Sin embargo, nuestro objetivo principal es tener XenForo 2.3 funcionando en XenForo.com a finales de noviembre. Más allá de ese hito, nos entusiasma compartir con ustedes un par de sorpresas más, que incluirán una descripción general de las últimas mejoras en el Administrador de recursos de XenForo, la Búsqueda mejorada y la Galería multimedia 2.3.

Pero volvamos al día de hoy, y no sólo es una revelación emocionante, sino que también señala la implementación de nuestra sugerencia más popular de todos los tiempos. Tu instalación de XenForo podrá actuar como un servidor OAuth2 y esto abre toda una serie de casos de uso avanzados:

  • Inicio de sesión único entre tu foro y otra instalación de XenForo
  • Inicio de sesión único entre tu foro y otro software
  • Crear una interfaz diferente para tu foro, como una aplicación de una sola página
  • Creación de una aplicación nativa de smartphone para tu foro
  • Integración entre tu foro y otra aplicación
  • Acceso a la API REST de XenForo como un usuario específico con un token OAuth
Como siempre, veamos cómo configurar esto en XenForo 2.3. En el siguiente ejemplo vamos a configurar un cliente OAuth2 en una instancia primaria de XenForo y usar una instancia secundaria de XenForo para usar esa instancia primaria como proveedor de cuenta conectada.

Puedes añadir tantos clientes OAuth2 como necesites y esto se puede hacer desde tu panel de control de administración en Configuración > Clientes OAuth2 (que lista todos los clientes que has creado) y haciendo clic en "Añadir cliente OAuth2".

Y esto es lo que parece todo rellenado:

1699392503709.png


La mayor parte de esto se explica por sí mismo. Título, Descripción, URL de la página de inicio y URL de la imagen se utilizan para marcar cualquier página de autorización OAuth. Echemos un vistazo más de cerca a un par de otras entradas en esta página.

Tipo de cliente​

La diferencia entre los tipos de cliente "Público" y "Confidencial" puede no ser inmediatamente obvia, pero es crucial. Para la gran mayoría de las integraciones OAuth con las que hayas tenido experiencia en el pasado, lo más probable es que estés más familiarizado con la opción por defecto, que es el tipo "Confidencial".

Para la mayoría de las aplicaciones el tipo "Confidencial" está bien. Esto significa que puedes mantener el secreto del cliente confidencial - en otras palabras, el secreto del cliente no es almacenado o revelado en ninguna parte por el cliente. Esto sería apropiado para una cuenta conectada de XenForo a XenForo.

Para situaciones en las que no es seguro almacenar un secreto en la aplicación cliente (como en JavaScript, aplicaciones de una sola página o aplicaciones nativas), debes elegir el tipo de cliente "Público". Cuando se utiliza el tipo "Público", se emplea el flujo de autorización Proof Key for Code Exchange (PKCE). En lugar de compartir un secreto, se crea una cadena aleatoria. Esta cadena aleatoria sirve como forma segura de confirmar su identidad durante el proceso de autorización e intercambio de tokens.

Cabe señalar que PKCE es obligatorio para los clientes públicos y recomendable para los clientes confidenciales. Una inmersión más profunda en PKCE está más allá del alcance de este post, pero ten por seguro que todo será documentado a través del manual y/o la documentación del desarrollador antes de que XenForo 2.3 sea lanzado.

Autorización / Token / Puntos finales de revocación​

Estos son simplemente los puntos finales con los que necesitas comunicarte para autorizar, recuperar un token y revocar tokens según las especificaciones de OAuth 2.0.

Redirigir URI​

Aquí puede añadir uno o más URI de redirección. Estos son los URIs de redirección aprobados que la instancia secundaria puede utilizar. Ocasionalmente puede necesitar más de un URI de redirección para soportar diferentes dominios o diferentes puntos finales que pueden ser llamados como parte del proceso. En este ejemplo, como nos vamos a comunicar desde un segundo foro de XenForo, su connected_account.php es suficiente como URI de redirección.

Una vez creado el cliente podrás ver tus credenciales:

1699394039133.png


Con estos datos, ya podemos configurar un proveedor de cuentas conectado en la instancia secundaria de XenForo.

1699394061809.png


La parte de las cuentas conectadas te resultará muy familiar si alguna vez has configurado alguna de las existentes. Lo más importante es asegurarse de que la URL del foro de destino es correcta.

Pero lo que realmente quieres ver es el proceso de autorización, ¿no?

A través de la página de inicio de sesión, registro o Cuenta > Cuentas conectadas, en cuanto hagas clic en el botón que corresponde a tu nuevo proveedor de cuentas conectadas de XenForo, serás redirigido a la página de autorización:

1699394187824.png


Al hacer clic en Autorizar se completarán los pasos habituales para autenticarte mediante OAuth y se te redirigirá de vuelta:

1699394211746.png


Si has aprobado alguna solicitud para acceder a tu cuenta de XenForo, puedes ver una lista de ellas en Cuenta > Solicitudes:

1699394232969.png


Aunque emocionante en sí mismo, esto es sólo un caso de uso entre los muchos que nuestra implementación de OAuth abrirá. Y aquí lo dejamos por esta semana. La semana que viene dedicaremos toda una entrada de "¿Has visto...?" a las novedades de XenForo 2.3 para desarrolladores. Esto nos permitirá proporcionar una inmersión más detallada en algunos cambios más pequeños, centrados en los desarrolladores, incluyendo una mirada más cercana a algunas partes más avanzadas de OAuth como PKCE, autenticación contra la API REST y tokens de actualización.

Si los desarrolladores quieren que hablemos con más detalle de algo específico que hayamos mencionado en las últimas semanas, no duden en comunicárnoslo.
 
Volver
Arriba