Cómo añadir Login with Posty5 a tu sitio web o aplicación

Permite que la gente inicie sesión en tu sitio con su cuenta de Posty5, como lo hace con Google: OpenID Connect, una pantalla de consentimiento y paquetes listos para Node.js y Angular.

ADAnuncio
Cómo añadir Login with Posty5 a tu sitio web o aplicación

Cada nuevo formulario de registro pide a la gente otra contraseña más, y cada contraseña que guardas es una cosa más que proteger. Login with Posty5 permite que las personas inicien sesión en tu sitio web o aplicación con la cuenta de Posty5 que ya tienen, igual que cuando eligen Iniciar sesión con Google.

Este artículo explica qué ven tus usuarios, qué obtienes como desarrollador y los cuatro pasos para añadirlo. Forma parte de la plataforma para desarrolladores de Posty5 descrita en la guía de claves de API y SDK.

Qué es Login with Posty5

Posty5 es ahora un proveedor de OAuth 2.0 y OpenID Connect. Registras tu aplicación en Posty5 Studio, envías a los usuarios a Posty5 para iniciar sesión y recibes un token de identidad firmado que le dice a tu servidor quiénes son. Tu sitio nunca ve su contraseña de Posty5.

Como sigue el estándar, funciona con los paquetes de Posty5 para Node.js y Angular y con cualquier biblioteca certificada de OpenID Connect: ASP.NET Core, Python, PHP o Java. Registrar aplicaciones e iniciar la sesión de los usuarios no consume créditos, en ningún plan.

Qué ven tus usuarios

  • Un botón Login with Posty5 o Continuar con Posty5 en tu página de inicio de sesión.
  • La propia página de inicio de sesión de Posty5 si todavía no han iniciado sesión: la contraseña se escribe solo en posty5.com.
  • Una pantalla de consentimiento con el nombre, el logotipo, el sitio web, la política de privacidad y los términos de tu aplicación, y una línea por cada dato que solicitas, con los botones Permitir y Cancelar.
  • Su elección se recuerda: el siguiente inicio de sesión pasa directamente. Pueden quitar el acceso de tu aplicación en cualquier momento desde Cuenta y luego Aplicaciones conectadas.

El recorrido completo desde el lado del usuario está en Qué es Login with Posty5 y si mis datos están seguros, y puedes enlazarlo desde tu propia página de inicio de sesión.

Qué obtienes como desarrollador

  • OpenID Connect estándar: el flujo de código de autorización con PKCE obligatorio en cada inicio de sesión, y un documento de descubrimiento con el que la mayoría de las bibliotecas se configuran solas.
  • Tokens de identidad firmados (RS256) con el nombre, la foto y el correo electrónico del usuario, y si el correo está verificado, solo para los ámbitos que el usuario permitió.
  • Un ID de usuario privado para tu aplicación. El sub es estable para tu aplicación y distinto en las aplicaciones de otros desarrolladores, así que las aplicaciones no pueden cruzar usuarios entre sí.
  • @posty5/oauth para back ends de Node.js, con enlaces de inicio de sesión firmados que no necesitan almacén de sesiones, y @posty5/oauth-angular, un botón Continuar con Posty5 personalizable para Angular.
  • Inicio de sesión desde el navegador para aplicaciones solo de front end: se activa por aplicación y solo se acepta desde los orígenes de sitio web que indiques.
  • Una pestaña Usuarios para cada aplicación en Posty5 Studio, y una clave de API añadida a la aplicación que lee la misma lista desde tu servidor.

Añádelo en cuatro pasos

  1. En Posty5 Studio, abre Kit para desarrolladores, luego Aplicaciones OAuth, y elige Registrar aplicación. Introduce el nombre, el logotipo y los enlaces que verán los usuarios, y tu dirección de retorno como URI de redirección.
  2. Copia el ID de cliente y el secreto de cliente en la configuración de tu servidor. El secreto se muestra una sola vez; puedes rotarlo más adelante.
  3. Instala @posty5/oauth y añade dos rutas: una que crea un enlace de inicio de sesión y envía al usuario a Posty5, y tu ruta de retorno, que verifica el resultado.
  4. Coloca un botón Login with Posty5 en tu página de inicio de sesión, inicia sesión tú mismo una vez y asocia tus registros de usuario al sub que recibes.
const link = await posty5.createLoginLink({ returnTo: "/account" });
res.cookie("p5_binding", link.binding, { httpOnly: true, secure: true, sameSite: "lax" });
res.redirect(link.url);

// on your redirect URI
const { claims, returnTo } = await posty5.handleLoginCallback(req.query, { binding: req.cookies.p5_binding });

El enlace de inicio de sesión lleva el verificador PKCE, el nonce y tu dirección de retorno dentro de un state sellado, así que tu servidor no guarda nada entre las dos peticiones, y una cookie vincula el enlace al navegador que lo pidió.

Registra tu primera aplicación OAuth

Crea la aplicación en Posty5 Studio, copia sus credenciales y prueba un inicio de sesión en tu propio sitio.

Elige cómo integrarlo

  • Un sitio web con back end en Node.js: usa @posty5/oauth. El secreto de cliente se queda en tu servidor.
  • Una aplicación Angular: usa el botón de @posty5/oauth-angular y deja que tu back end gestione el inicio de sesión. Consulta cómo añadir un botón Continuar con Posty5 en Angular.
  • Una aplicación estática sin back end: activa el inicio de sesión desde el navegador para la aplicación, indica los orígenes de tu sitio y usa el modo browser del paquete de Angular o cualquier cliente OpenID Connect compatible con PKCE.
  • Cualquier otro lenguaje: apunta tu biblioteca de OpenID Connect a https://api.posty5.com con tu ID de cliente y tu secreto.

Límites que conviene conocer antes de empezar

  • No hay tokens de actualización. El token de acceso dura 1 hora, así que mantén tu propia sesión después del inicio de sesión.
  • No se ofrece el inicio de sesión silencioso (prompt=none). Puedes forzar un nuevo inicio de sesión con prompt=login o max_age.
  • Login with Posty5 comparte solo la identidad: nombre, foto y correo electrónico. No da a tu aplicación acceso al contenido de Posty5 del usuario.
  • Una cuenta puede registrar hasta 20 aplicaciones OAuth, cada una con hasta 10 URI de redirección exactas.

Preguntas frecuentes

¿Login with Posty5 consume créditos?

No. Registrar aplicaciones OAuth e iniciar la sesión de los usuarios no consume créditos, en ningún plan.

¿Qué datos puede recibir mi aplicación?

Solo lo que el usuario permite: siempre un ID de usuario para tu aplicación, el nombre y la foto de perfil con el ámbito profile, y el correo electrónico y si está verificado con el ámbito email.

¿Puedo usarlo sin back end?

Sí. Activa el inicio de sesión desde el navegador para la aplicación e indica los orígenes de tu sitio. El navegador intercambia entonces el código con PKCE y sin secreto de cliente. Si tienes un back end, sigue siendo el mejor lugar para el inicio de sesión.

¿Por qué el ID de usuario es distinto en mi otra aplicación?

El sub es por pares: depende del host de la primera URI de redirección de cada aplicación, así que las aplicaciones de distintos desarrolladores no pueden cruzar usuarios. Las aplicaciones registradas con el mismo host obtienen el mismo valor.

¿Puedo ver quién inició sesión en mi aplicación?

Sí. Cada aplicación tiene una pestaña Usuarios en Posty5 Studio, y una clave de API añadida a la aplicación lee la misma lista desde tu servidor, solo con lo que compartió cada usuario.

¿Qué pasa cuando un usuario quita el acceso?

Tus tokens de acceso para ese usuario dejan de funcionar, el usuario desaparece de tu lista de Usuarios y su siguiente inicio de sesión vuelve a mostrar la pantalla de consentimiento. Su cuenta en tu sitio no se ve afectada.

ADAnuncio