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
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:
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, suconnected_account.php
es suficiente como URI de redirección.Una vez creado el cliente podrás ver tus credenciales:
Con estos datos, ya podemos configurar un proveedor de cuentas conectado en la instancia secundaria de XenForo.
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:
Al hacer clic en Autorizar se completarán los pasos habituales para autenticarte mediante OAuth y se te redirigirá de vuelta:
Si has aprobado alguna solicitud para acceder a tu cuenta de XenForo, puedes ver una lista de ellas en Cuenta > Solicitudes:
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.