Resumen
El Hub de la app del wallet de Ebioro lista tiendas asociadas. Cuando un usuario abre tu tienda desde el Hub, Ebioro puede entregarle un token firmado que identifica al usuario, de modo que llega ya autenticado — sin registro ni inicio de sesión aparte. La tienda se abre dentro de la app en un webview. Es un canal de distribución para comercios: aparece en el Hub, y cada usuario del wallet es un cliente potencial a un toque. Hay dos formas de listar una tienda:Sin autenticación
Registra una sola URL de webview y Ebioro la abre directamente desde el Hub. Ideal para un catálogo público sin cuentas de usuario.
Con inicio de sesión
Ebioro entrega a tu endpoint de autenticación un token firmado, de modo que el usuario llega a una sesión que tú creaste — ya autenticado. Ideal cuando los usuarios tienen cuentas en tu tienda.
Las tiendas las lista Ebioro, no es autoservicio. Para aparecer en el Hub — y para registrar tu endpoint de autenticación, ícono y los headers personalizados — contáctanos en [email protected].
Cómo funciona el inicio de sesión autenticado
El usuario abre tu tienda
El usuario toca tu tienda en el Hub del wallet.
Ebioro firma un token
Un JWT de corta duración con el nombre, apellido, correo y teléfono del usuario.
Ebioro llama a tu endpoint
Un
POST a tu endpoint de autenticación registrado con { "token": "<jwt>" }.Verificas el token
Comprueba la firma y la expiración antes de confiar en cualquier campo.
Inicias una sesión
Busca o crea al usuario (por correo o teléfono) y abre una sesión.
Devuelves un enlace
Responde con
{ "url": "<enlace autenticado>" }.El usuario queda autenticado
Ebioro abre esa URL en el webview dentro de la app — el usuario llega ya autenticado.
Tu endpoint de autenticación
Registra un endpoint HTTPS que reciba el token y devuelva una URL de sesión. Solicitud — Ebioro llama a tu endpoint:x-api-key compartido) se envían con esta solicitud, para que tu endpoint pueda confirmar que la llamada realmente vino de Ebioro.
Respuesta — devuelve la URL que abre una sesión autenticada:
url en el webview. Devuelve HTTP 200 con un campo url; cualquier otra cosa se considera un fallo.
El token
Payload:
Obtener la clave pública
Ebioro firma con su clave de firma Stellar. La clave pública correspondiente se publica en el campoSIGNING_KEY del Stellar TOML:
La clave está en formato Stellar
G.... Para verificar un JWT Ed25519 estándar, conviértela a un objeto de clave pública como se muestra abajo.
Verificar el token (Node.js)
jwtVerify comprueba la firma, la expiración (exp) y la audiencia (aud). Con el payload verificado, busca al usuario por correo o teléfono, créalo si no existe, inicia una sesión y devuelve su URL.
Verifica la audiencia
Cada token que Ebioro firma está acotado a una sola tienda: su claimaud se fija en el host del webview de tu tienda (el hostname de la URL de webview que registraste, p. ej. www.example.store). Pasa ese valor como la opción audience a jwtVerify, como se muestra arriba.
Verificar aud garantiza que un token emitido para otra tienda no pueda reutilizarse contra tu endpoint. Es opcional pero muy recomendable — sin ello, se aceptaría cualquier token válido de Ebioro. Si no estás seguro del host exacto registrado para tu tienda, pregúntanos al momento de la incorporación.