A través de los servicios broker.localKeychain.*, se tiene acceso a funciones relacionadas con la encriptación y almacenamiento de cadenas de caracteres en forma local.

METODOS PUBLICOS

void broker.localKeychain.save(String key, String cadenaAGuardar)

Guarda una cadena cadenaAGuardar encriptada en el almacenamiento de datos local, en la clave key especificada como argumento.

Argumentos  
key String: clave en donde va a ser guardada la cadena de caracteres.
cadenaAGuardar String: Cadena de caracteres a guardar.
Excepciones  
LocalKeychainInternalException – Has been an exception in local keychain service, in method save for key key. Se produjo una excepción en el servicio de persistencia local.
LocalKeychainNullKey – Local keychain service error when trying to access a value with a null key in method save. Error tratando de acceder a un valor con una key nula.

String broker.localKeychain.get(String key)

Recupera una cadena de caracteres encriptada desde el almacenamiento de datos local, que ha sido anteriormente guardada.

Argumentos  
key String: Clave de la cadena de caracteres a ser recuperado.
Retorna  
String Cadena de caracteres correspondiente a la clave especificada.
Excepciones  
LocalKeychainKeyNotFound – Local keychain service has not found a value for key key. El servicio de persistencia keychain no encontró un valor para la key especificada.
LocalKeychainInternalException – Has been an exception in local keychain service, in method save for key key. Se produjo una excepción inesperada en el servicio de persistencia local.

Bool broker.localKeychain.hasKey(String key)

Retorna true si existe la clave especificada en key.

Argumentos  
key String: clave a ser consultada en el almacenamiento local.
Retorna  
Bool Retorna true si existe la clave especificada.

void broker.localKeychain.remove(String key)

Borra la cadena de caracteres correspondiente a la clave key.

Argumentos  
key String: clave de la cadena de caracteres a ser borrada.
Excepciones  
LocalKeychainNullKey – Local keychain service error when trying to access a value with a null key in method remove. Error tratando de acceder a un valor con una key nula.
LocalKeychainKeyNotFound – Local keychain service has not found a value for key key. El servicio de persistencia keychain no encontró un valor para la key especificada.

void broker.localKeychain.removeAll()

Borra por completo el almacenamiento de datos local encriptado.

Ejemplo:

Experience Main {
    String name label("Main name")
    Decision rule1 action("MainContext.chequearUsuarioLogueado")   label("Chequear si usuario esta logueado")
    Decision rule2 action("MainContext.borrarUsuario")             label("Logout usuario")
}

RuleContext MainContext {

  Rule borrarUsuario {
      broker.localKeychain.remove(“idUsuario”)
  }

  Rule chequearUsuarioLogueado {

    if (broker.localKeychain.hasKey(“idUsuario”)) {

        String idUsuarioLogueado =  broker.localKeychain.get(“idUsuario”)

        if (idUsuarioLogueado != null) {
            broker.ui.showAlert("Usuario logueado", idUsuarioLogueado)
        } else {
            broker.ui.showAlert("Usuario no logueado", "por favor iniciar sesion")
        }
    } else {
        broker.ui.showAlert("Usuario no logueado", "por favor iniciar sesion")
    }
  }

}