Para la propuesta de solución de Token Digital se requiere un repositorio de almacenamiento que permita un guardado y una lectura eficiente. En este caso como lo mas importante es la lectura al ser MongoDB una de las soluciones más eficientes se optó por ella.
Tendremos 2 colecciones para cubrir con la solución:
digitalToken. Almacenara la key encriptada de cada usuario para la generación del token.
activationToken. Almacenara el token temporal solicitado por el cliente
estas colecciones tendrán los siguientes campos en cada documento.
Colección digitalToken
db.digitalToken | Tipo | Valores | Descripción | Ejemplo |
_id | ObjectId | Aleatorio | Identificador único auto generado | 64ac57af734208c08f4422ac |
keyId | String | Aleatorio Unico | Identificador único del usuario o cuenta asociada con el token digital | 8ed3f090-9317-496b-972a-9e7e5b5f2a14 |
key | String | Aleatorio de acuerdo con el cifrado Sha256 | Clave cifrada utilizada para generar el token digital y autorizar al usuario | f1ad2b0c335e1c29818733aef732ab507c597fa52a0fb2a7d4b2e8e72d9b99c5 |
deviceId | String | Aleatorio Unico | Identificador del dispositivo registrado asociado con el token digital | 4fd2b9a0-8f48-4e04-8535-5e1028eb6d81 |
Colección activationToken
db.activationToken | Tipo | Valores | Descripción | Ejemplo |
_id | ObjectId | Aleatorio | Identificador único auto generado | 64ac57af734208c08f4422ac |
keyId | String | Aleatorio Unico | Identificador único del usuario o cuenta asociada con el token digital | 8ed3f090-9317-496b-972a-9e7e5b5f2a14 |
token | String | Aleatorio | Número aleatorio generado por el algoritmo usado para el token de 6 dígitos | 152357 |
createdAt | Date | Fecha y hora actual | Hora de creación del token utilizado para consideraciones de vencimiento del token | 2023-07-10T13:35:24.023+00:00 |
0 Comments