0.0.4 • Published 10 months ago

tesseract-sdk-st-lib v0.0.4

Weekly downloads
-
License
-
Repository
-
Last release
10 months ago

tesseract-sdk-st-lib

Integre los servicios de 2FA que Tesseract proporciona mediante Tesseract Token SDK a través de ionic.

Instalación

npm install tesseract-sdk-st-lib
npx cap sync

Requerimientos extra de instalación:
Dependiendo de las versiones usadas de npm o capacitor podrá requerir instalar de forma separada las siguientes librerías necesarias para el funcionamiento: 1. npm install @capacitor/filesystem 2. npm install @capacitor/device 3. npm install @capacitor/network 4. npm install @ionic-native/http 5. npm i cordova-plugin-advanced-http

Ejemplo

import { SDK } from 'tesseract-sdk-st-lib';

const selectToken = async () => {
  var result = await SDK.selectToken("TestOTP")
};

SDK

Integre los servicios de 2FA que Tesseract proporciona mediante Tesseract Token SDK.

Métodos

Tipo de modificadorDescripción del método
static Resultasync activate(activationCallback: ActivationCallback) Activa un token el cual se encuentra en TokenStatus.ENROLLMENT, esta operación se realiza de manera asíncrona.
static Resultasync auth(pin: string) Este método permite autenticarse a un token el cual está en estado TokenStatus.READY. Es obligatorio para la generación de OTP o Respuestas.
static Resultasync changePin(oldPin: string, newPin: string) Permite cambiar el PIN a un token cuyo estado es TokenStatus.READY.
static Resultasync createToken(name: string) Permite crear un nuevo token sin tipo, almacenado dentro de su dispositivo.
static Resultasync deleteToken(name: string) Permite eliminar un token existente.
static Resultasync enrollmentToken(enrollmentStringBase64: string, actCode: string) Permite enrolar un token a través de una cadena de enrolamiento y una clave de activación. Las cuales son obtenidas desde Tesseract API v2.
static Booleanasync existsToken(name: string) Función asíncrona que permite validar si existe un token con ese nombre almacenado en el dispositivo.
static stringgenerateOTP(challenge: string) Genera un nuevo OTP/ Respuesta mediante un CHALLENGE, el token debe estar en estado TokenStatus.READY. En caso de que getType() devuelva KeyUsage.OTP el challenge debe ser null y si KeyUsage.CR el challenge deberá ser según las políticas ingresadas en la creación del Token por Tesseract API v2. Esta operación se realiza de manera asíncrona.
static NumbergetAttempts() Recupera el número de intentos que se tienen antes de que el token pase a un estado TokenStatus.BLOCKED. El número máximo de intentos válidos son establecidos desde la creación del Token por Tesseract API v2. Para obtener el número máximo de intentos utilice getMaxAttempts(), donde el valor mínimo es 2 y el máximo será 10.
static DategetExpiresAt() Recupera la fecha de expiración del Token seleccionado actualmente.
static stringgetSerial() Recupera el número de serie del Token seleccionado actualmente.
static TokenStatusgetStatus() Recupera el estado del Token seleccionado actualmente.
static stringgetTokenName() Recupera el nombre del Token seleccionado actualmente.
static KeyUsagegetType() Recupera el tipo de Token seleccionado actualmente.
static ResultisAuth() Indica si se encuentra autenticado al token.
static Listasync listTokens() Función asíncrona que recupera todos los nombres de los tokens almacenados en tu aplicación.
static Resultasync selectToken(name: string) Función asíncrona que permite seleccionar un token existente para trabajar.
static Resultasync setPin(pin: string) Establece un PIN a un token en estado TokenStatus.WAITING_PIN.
static bigIntgetTimeout() Indica el tiempo restante antes de que caduque el OTP generado por el Token seleccionado actualmente.
static bigIntgetTimeInterval() Indica el intervalo de tiempo de generación de OTP en milisegundos. Solo retornara el intervalo si getType() devuelva KeyUsage.OTP.

Result

Los resultados de la gran mayoría de métodos expuestos para la manipulación de los tokens generan como retorno un tipo de dato ENUM el cual contiene un conjunto de constantes predefinidas las cuales se describen a continuación:

ConstanteDescripción de la constante
ACTIVATION_ERRORError durante la activación del token
BAD_PINEl PIN ingresado es incorrecto
ERROR_SAVING_TOKENError guardando el token
INVALID_ACT_CODELa clave de activación proporcionada es incorrecta
INVALID_ENROLLMENT_STRINGLa cadena de enrollamiento ingresada es incorrecta
INVALID_TOKEN_STATUSEl estado del token es inválido para la operación solicitada
NOT_AUTHNo se encuentra autenticado para acceder a la operación solicitada
SDK_NOT_INITEl SDK no ha sido inicializado
SUCCESSLa operación solicitada ha concluido exitosamente
TOKEN_ALREADY_EXISTSEl token ya existe
TOKEN_NOT_FOUNDEl token no ha sido encontrado
TOKEN_NOT_SELECTEDNo se ha seleccionado un token para la operación solicitada
TOKEN_STATUS
Constante Descripción de la constante
INVALID_TOKEN_IS_UNASSIGNEDError en la activación del token, debido a que el token se encuentra sin asignar
INVALID_TOKEN_IS_WAITINGError en la activación del token, ocurre porque el token está en estado waiting
INVALID_TOKEN_ALREADY_ACTIVATEDError en la activación del token, generado por intentar activar un token que se encuentra ya activo (se presenta usualmente porque el método asíncrono de activación no se toma como asíncrono), debido a que es una violación de seguridad el token ya no podrá ser utilizado.
INVALID_TOKEN_IS_REVOKEDError en la activación del token, se presenta cuando se desea activar un token que se encuentra revocado.
INVALID_TOKEN_IS_BLOCKEDError en la activación del token, se presenta cuando se desea activar un token que se encuentra bloqueado
TOKEN_INFORMATION_CORRUPTError de activación, debido a que la información de enrolamiento está corrupta, este error es muy raro, si surge consulte soporte
NO_MATCH_BODY_TOKEN_SERIALError de activación, generado porque el serial no coincide con el token, error raro
UNKNOWN_ERRORError en la activación del token presentado cuando ninguno de los errores anteriores coincidió, consulte a soporte tesseract.
BLOCKEDEstado en el cual se llega una vez que se han excedido el número de intentos para autenticarse al token
CREATEDEstado inicial de todo token al ser creado
ENROLLMENTEstado al cual se llega una vez ingresada una cadena de enrolamiento y una clave de activación
READYEstado al cual se llega una vez que el token ha sido activado
UNKNOWNEstado en el cual el token ha sido corrompido
WAITING_PINEstado previo a READY en el cual está a la espera de que se le asigne un PIN

Compatibilidad

'ios' | 'android'

License

Tesseract