tesseract-sdk-st-lib
v0.0.4
Published
Integre los servicios de 2FA que Tesseract proporciona mediante Tesseract Token SDK a través de ionic.
Downloads
3
Readme
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:
npm install @capacitor/filesystem
npm install @capacitor/device
npm install @capacitor/network
npm install @ionic-native/http
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 modificador | Descripción del método | |------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | static Result | async activate(activationCallback: ActivationCallback) Activa un token el cual se encuentra en TokenStatus.ENROLLMENT, esta operación se realiza de manera asíncrona. | | static Result | async 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 Result | async changePin(oldPin: string, newPin: string) Permite cambiar el PIN a un token cuyo estado es TokenStatus.READY. | | static Result | async createToken(name: string) Permite crear un nuevo token sin tipo, almacenado dentro de su dispositivo. | | static Result | async deleteToken(name: string) Permite eliminar un token existente. | | static Result | async 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 Boolean | async existsToken(name: string) Función asíncrona que permite validar si existe un token con ese nombre almacenado en el dispositivo. | | static string | generateOTP(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 Number | getAttempts() 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 Date | getExpiresAt() Recupera la fecha de expiración del Token seleccionado actualmente. | | static string | getSerial() Recupera el número de serie del Token seleccionado actualmente. | | static TokenStatus | getStatus() Recupera el estado del Token seleccionado actualmente. | | static string | getTokenName() Recupera el nombre del Token seleccionado actualmente. | | static KeyUsage | getType() Recupera el tipo de Token seleccionado actualmente. | | static Result | isAuth() Indica si se encuentra autenticado al token. | | static List | async listTokens() Función asíncrona que recupera todos los nombres de los tokens almacenados en tu aplicación. | | static Result | async selectToken(name: string) Función asíncrona que permite seleccionar un token existente para trabajar. | | static Result | async setPin(pin: string) Establece un PIN a un token en estado TokenStatus.WAITING_PIN. | | static bigInt | getTimeout() Indica el tiempo restante antes de que caduque el OTP generado por el Token seleccionado actualmente. | | static bigInt | getTimeInterval() 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:
| Constante | Descripción de la constante | |-------------------------------|--------------------------------------------------------------------| | ACTIVATION_ERROR | Error durante la activación del token | | BAD_PIN | El PIN ingresado es incorrecto | | ERROR_SAVING_TOKEN | Error guardando el token | | INVALID_ACT_CODE | La clave de activación proporcionada es incorrecta | | INVALID_ENROLLMENT_STRING | La cadena de enrollamiento ingresada es incorrecta | | INVALID_TOKEN_STATUS | El estado del token es inválido para la operación solicitada | | NOT_AUTH | No se encuentra autenticado para acceder a la operación solicitada | | SDK_NOT_INIT | El SDK no ha sido inicializado | | SUCCESS | La operación solicitada ha concluido exitosamente | | TOKEN_ALREADY_EXISTS | El token ya existe | | TOKEN_NOT_FOUND | El token no ha sido encontrado | | TOKEN_NOT_SELECTED | No se ha seleccionado un token para la operación solicitada |
TOKEN_STATUS
| Constante | _ Descripción de la constante _ | |---------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | INVALID_TOKEN_IS_UNASSIGNED | Error en la activación del token, debido a que el token se encuentra sin asignar | | INVALID_TOKEN_IS_WAITING | Error en la activación del token, ocurre porque el token está en estado waiting | | INVALID_TOKEN_ALREADY_ACTIVATED | Error 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_REVOKED | Error en la activación del token, se presenta cuando se desea activar un token que se encuentra revocado. | | INVALID_TOKEN_IS_BLOCKED | Error en la activación del token, se presenta cuando se desea activar un token que se encuentra bloqueado | | TOKEN_INFORMATION_CORRUPT | Error 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_SERIAL | Error de activación, generado porque el serial no coincide con el token, error raro | | UNKNOWN_ERROR | Error en la activación del token presentado cuando ninguno de los errores anteriores coincidió, consulte a soporte tesseract. | | BLOCKED | Estado en el cual se llega una vez que se han excedido el número de intentos para autenticarse al token | | CREATED | Estado inicial de todo token al ser creado | | ENROLLMENT | Estado al cual se llega una vez ingresada una cadena de enrolamiento y una clave de activación | | READY | Estado al cual se llega una vez que el token ha sido activado | | UNKNOWN | Estado en el cual el token ha sido corrompido | | WAITING_PIN | Estado previo a READY en el cual está a la espera de que se le asigne un PIN |
Compatibilidad
'ios' | 'android'