Inicio de sesión con OpenID Connect
Tus usuarios pueden iniciar sesión con una cuenta que ya tienen en otro sitio. Funciona cualquier proveedor de identidad que publique un documento de descubrimiento de OpenID Connect, y Fóir ejecuta el intercambio con él.
Qué aportas tú
Añades un proveedor en la consola, desde la CLI o en tu archivo de configuración. Un inicio de sesión necesita la URL de descubrimiento del proveedor, tu ID de cliente y un URI de redirección, y se rechaza si falta alguno de los tres. Un secreto de cliente es opcional, y los alcances solicitados son por defecto openid email.
Fóir no mantiene un catálogo de proveedores con nombre. Cada uno que añades tiene una clave, un nombre para mostrar y una prioridad que ordena los botones.
Qué hace Fóir
Fóir lee el documento de descubrimiento del proveedor, genera el par PKCE y el valor de state, y devuelve la URL de autorización del proveedor. Cuando el usuario vuelve, intercambia el código, verifica el ID token y lee la dirección de correo y el identificador de sujeto estable del proveedor.
Cómo se asocia una persona a una cuenta
Un usuario que vuelve se identifica por el identificador de sujeto, así que un cambio de correo en el proveedor sigue resolviéndose en la misma cuenta. Un primer inicio de sesión con un correo desconocido crea una cuenta sin contraseña, sujeta al modo de registro del proyecto y al límite de usuarios activos de tu plan.
Cuando el correo coincide con una cuenta existente, el proveedor se vincula solo si esa cuenta no tiene contraseña y el proveedor verificó el correo. En caso contrario el inicio de sesión se rechaza con un mensaje que indica al usuario que inicie sesión con su método existente.
Dónde aparecen los botones
La página de inicio de sesión alojado muestra un botón por cada proveedor habilitado. En tu propia interfaz, la consulta authProviders los lista y dos mutaciones inician y completan el inicio de sesión, y devuelven los mismos tokens que cualquier otro método.
Ocultar un proveedor o desactivarlo
Una app de inicio de sesión puede ocultar un proveedor para sí misma. Desactivar uno para todo el proyecto surte efecto en la siguiente publicación, o de inmediato con foir push --publish.
Lee el detalle
La guía de inicio de sesión cubre cómo añadir un proveedor en la consola y desde la CLI, y las llamadas a la API para un inicio de sesión con proveedor en tu propia interfaz.