ronda integración ai·di
Descripción
TBA
Diagrama de Arquitectura
Diagrama de Secuencia registro y acceso de Usuario a ronda app
Se detalla el proceso de registro y acceso a ronda con la autorización de ai·di:
NOTA: Por cada requestUserProfile, el backend de ai·di valida el token firmado por el usuario y además valida que el request provenga de una aplicación autorizada (y registrada previamente en ai·di).
Descripción de procesos implementados para la Integración de aplicaciones
Gestión de Perfil de usuario
- Generación y registro de perfil desde la aplicación ai·di.
- El perfil será almacenado y gestionado por ai·di.
- La aplicación de ronda accederá a los datos de perfil de ai.di como una aplicación autorizada.
- Detalle de datos de Perfil de usuario:
ai·di | ronda | |
---|---|---|
Datos Compartidos | - DID (address) | Token firmado por la aplicación. |
- Número de celular | ||
- Nombre y Apellido (obtenidos del onboarding) | ||
- Foto de usuario | ||
Datos Propios | - Credencial de Datos personales | - Nickname : campo oculto y requerido para RNS. Este campo se autogenera al registrar un nuevo usuario en ronda. |
- Credencial de Domicilio Legal | - Wallet (Address en RSK). |
Gestión de wallet y RNS de ronda
- Para evitar acoplamiento y permitir que la aplicación ronda sea escalable de manera independiente a ai·di: se mantendrá la wallet de ronda separada de la address de ai·di app.
- Cuando un usuario ingresa por primera vez en la aplicación de ronda se genera el registro de su usuario en ronda y ejecuta el proceso de registro de wallet y RNS para poder operar rondas en la blockchain.
- En caso de fallo en los procesos de registro de wallet y RNS:
- El usuario recibirá una notificación con el mensaje de error de registro.
- El usuario visualizará un pop-up con mensaje de error y call to action para reintentar el registro.
Panel de notificaciones
- Toda “push notification“ se almacena como una notificación en el backend y se visualiza desde la pantalla “Notificaciones”.
Seguridad
- El perfil será accesible por ronda a través de ai·di mediante un JWT.
- ronda va a tener acceso a los perfiles autorizados por ai·di.
- Los JWT compartidos por ai·di tendrán como subject a ronda.
- El usuario tendrá acceso a ronda siempre y cuando pueda validar los JWT compartidos por ai·di.
- Es decir, para el acceso a los datos y foto de perfil se requiere:
- Contar con certificado firmado por el usuario.
- Acceder desde una app autorizada (token de aplicación autorizada).
Casos de Uso
Se describirán los casos de uso referidos a la integración entre las apps ai·di y ronda.
Log-in | Acceso de un usuario en ronda desde ronda
Descripción
Acceso de un usuario en aplicación mobile ronda desde aplicación ronda
Actores
Usuario de aplicación mobile.
Descripción del Flujo Básico
El Usuario presiona el botón de aplicación ronda.
SI el Usuario tiene un sesión activa de ronda:
- El Usuario accede al menú principal de la aplicación ronda.
SI NO:
El Usuario visualiza la pantalla de ronda “Iniciar Sesión con ai·di”.
El Usuario presiona el botón “Iniciar Sesión con ai·di”.
SI el Usuario NO tiene aplicación ai·di instalada:
- Redirigir al play store.
- El usuario instala la aplicación.
- Ir a 3.v.a.
SI el Usuario tiene una sesión activa en ai·di:
- El Usuario visualiza la pantalla de ai·di “Permitir acceso desde ai·di”.
- El Usuario presiona el botón “Permitir”.
- ai·di transfiere un token de acceso a ronda.
- ronda valida su token contra DIDI server y obtiene datos de perfil.
- El Usuario visualiza la pantalla de ronda “Menú principal”.
SI NO (El usuario NO tiene una sesión activa en ai·di):
El Usuario visualiza la pantalla de ai·di “Log-in inicial”.
SI el usuario presiona botón “Ingresar”:
- El Usuario ingresa su email y password de acceso a ai·di.
- Ir a 3.iv.a.
SI el Usuario presiona el botón “Recuperar Cuenta”:
- El Usuario visualiza un mensaje y presiona el botón “Iniciar”.
- El usuario ingresa su email y password de acceso a ai·di.
- El usuario presiona botón “Recuperar”
- SI autenticación es correcta:
- El usuario ingresa número de teléfono
- El usuario recibe código de confirmación vía SMS.
- El usuario valida SMS.
- Ir a 3.iv.a.
- El Usuario visualiza un mensaje y presiona el botón “Iniciar”.
Si el Usuario presiona botón “Crear Cuenta”
- Genera la cuenta y finaliza la generación de la cuenta.
- Ir a 3.iv.a.
Log-in | Acceso de un usuario en ronda desde ai·di
Descripción
Acceso de un usuario en aplicación mobile ronda desde aplicación ai·di
Precondición
El usuario tiene ai·di instalada y se encuentra con una sesión iniciada.
Actores
Usuario de aplicación mobile.
Descripción del Flujo Básico
- El Usuario presiona el botón “ronda” del menú inferior.
- SI el usuario nunca inició sesión en ronda:
- El Usuario visualiza la pantalla “Accedé a ronda”.
- Si el usuario accedió alguna vez en ronda:
- El usuario visualiza la pantalla “Ver mis rondas”.
- El usuario presiona el botón “Acceder”.
- SI el usuario NO tiene instalada la aplicación de ronda
- Redirigir al play store.
- SI NO
- El Usuario visualiza el modal de ai·di “Permitir acceso desde ai·di”.
- Si El Usuario presiona el botón “Permitir”.
- ai·di transfiere un token de acceso a ronda.
- ronda valida su token contra DIDI server y obtiene datos de perfil.
- SI el token es válido y autorizado por ai·di:
- El Usuario visualiza la pantalla de ronda “Menú principal”.
- Si NO
- El Usuario visualiza un Modal de “Error de autenticación”.
- SI NO
- El Usuario visualiza un Modal de “Error, requiere Permiso”.
Creación de Credencial de ronda Iniciada
Descripción
Creación de Credencial de ronda Iniciada
Precondición
El usuario tiene la aplicación ronda instalada y se encuentra con una sesión iniciada. (Implica ai·di instalada y con sesión iniciada). El usuario participa de una ronda que acaba de iniciarse.
Actores
Usuario de aplicación mobile.
Descripción del Flujo Básico
- La aplicación ronda emite credencial de ronda Iniciada para cada uno de sus participantes.
- El usuario recibe push notification de aidi por nueva credencial disponible para descargar.
- El usuario ingresa a la aplicación de aidi por medio de la notificación.
- La aplicación aidi sincroniza las credenciales.
- El usuario visualiza la nueva credencial de ronda con estado = iniciada (Credencial con fecha de expiración = fecha de finalización de la ronda).
Creación de Credencial de ronda Iniciada
Descripción
Creación de Credencial de ronda Finalizada
Precondición
El usuario tiene la aplicación ronda instalada y se encuentra con una sesión iniciada. (Implica ai·di instalada y con sesión iniciada). El usuario participa de una ronda que ha llegado a su fecha de finalización.
Actores
Usuario de aplicación mobile.
Descripción del Flujo Básico
- La aplicación ronda emite credencial de ronda Iniciada para cada uno de sus participantes.
- El usuario recibe push notification de aidi por nueva credencial disponible para descargar.
- El usuario ingresa a la aplicación de aidi por medio de la notificación.
- La aplicación aidi sincroniza las credenciales.
- El usuario deja de visualizar la credencial de ronda con estado = iniciada (Debido a que alcanzó su fecha de expiración).
- El usuario visualiza la nueva credencial de ronda con estado = finalizada (Credencial que NO expira).
Ver mis credenciales desde ronda
Descripción
Visualización de Credenciales de rondas desde aplicación de ronda
Precondición
El usuario tiene la aplicación de ronda instalada y se encuentra con una sesión iniciada. (Implica ai·di instalada y con sesión iniciada)
Actores
Usuario de aplicación mobile.
Descripción del Flujo Básico
- El usuario accede a la pantalla de ronda “Perfil” del usuario.
- El usuario presiona el botón “Ver mis credenciales”.
- El usuario visualiza la pantalla de Credenciales de ai·di en la sección “finanzas”.