Skip to content

Latest commit

 

History

History
142 lines (94 loc) · 4.95 KB

README-ptBR.md

File metadata and controls

142 lines (94 loc) · 4.95 KB

RNSecureStorage

Armazenamento Seguro para React Native (Android & iOS)

Obs: Esse pacote é uma versão melhorada de react-native-secure-key-store, RNSecureStorage possui suporte para "abaixo da api 23"

Veja o FAQ para mais informações.

IOS

RNSecureStorage usa o Keychain para o armazenamento seguro.

Android

Abaixo da API 23 RNSecureStorage usa secure-preferences by @scottyab

Acima da API 23 RNSecureStorage usa Android Keystore

Começando

Com o NPM

npm install --save rn-secure-storage

Com o YARN

yarn add rn-secure-storage

Link Automático

react-native link rn-secure-storage

Link Manual

Instalação Manual (Se algo der errado com o link doreact-native)

Uso

import RNSecureStorage, { ACCESSIBLE } from 'rn-secure-storage'

SET

// {accessible: ACCESSIBLE.WHEN_UNLOCKED} -> Para IOS
RNSecureStorage.set("key1", "this is a value", {accessible: ACCESSIBLE.WHEN_UNLOCKED})
.then((res) => {
console.log(res);
}, (err) => {
console.log(err);
});

GET

RNSecureStorage.get("key1").then((value) => {
console.log(value) // Retorna um valor direto
}).catch((err) => {
console.log(err)
})

REMOVE

RNSecureStorage.remove("key1").then((val) => {
console.log(val)
}).catch((err) => {
console.log(err)
});

Opções

Chave Plataforma Descrição Padrão
accessible apenasiOS Diz quando um item da keychain é acessível, veja os valores possiveis em Keychain.ACCESSIBLE. Keychain.ACCESSIBLE.WHEN_UNLOCKED

enum Keychain.ACCESSIBLE

Chave Descrição
WHEN_UNLOCKED O dado no item da keychain pode ser acessado apenas enquanto o dispositivo é desbloqueado pelo usuário.
AFTER_FIRST_UNLOCK O dado no item da keychain não pode ser acessado depois de reiniciar até que o dispositivo seja desbloqueado pelo menos uma vez pelo usuário.
ALWAYS O dado no item da keychain pode sempre ser acessado, independente do dispositivo estar desbloqueado ou não.
WHEN_PASSCODE_SET_THIS_DEVICE_ONLY O dado no item da keychain pode ser acessado apenas quando o dispositivo é desbloqueado. Disponível apenas se uma senha é inserida no dispositivo. Itens com esse atributo não podem migrar para outro dispositivo.
WHEN_UNLOCKED_THIS_DEVICE_ONLY O dado no item da keychain pode ser acessado apenas enquanto o dispositivo é desbloqueado pelo usuário. Itens com esse atributo não podem migrar para outro dispositivo.
AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY O dado no item da keychain não pode ser acessado depois de reiniciar até que o dispositivo seja desbloqueado pelo menos uma vez pelo usuário. Itens com esse atributo não podem migrar para outro dispositivo.
ALWAYS_THIS_DEVICE_ONLY O dado no item da keychain pode sempre ser acessado, independente do dispositivo estar desbloqueado ou não. Itens com esse atributo não podem migrar para outro dispositivo.

Exemplos

Você pode encontrar exemplos de uso do pacote na pasta example.

git clone https://github.com/talut/rn-secure-package

cd rn-secure-package/example

npm install

react-native run-ios/android

Versão 1.0.7

  • Valores/mensagens de retorno para Android & IOS foram atualizados.
  • Issue:1 resolvido.

FAQ

  • Por que eu deveria usar esse pacote?
  • Você pode usar outros pacotes como o react-native-keychain. Eu sei que este pacote possui mais opções. Mas você pode armazenar apenas nome de usuário e senha, enquanto que com o RNSecureStorage você pode guardar inúmeros itens de [chave,valor]
  • Porque você não deveria usar o react-native-secure-key-store
  • Você pode usar esse pacote mas você não pode ter nenhuma boa solução com as APIs mais baixas do android. E ainda por cima esse pacote é configurado como minSDK:18. Isso significa que você terá alguns problemas.
  • Ei, eu posso confiar no seu code/package?
  • Você pode ver meu código no repositório, então você pode avaliá-lo. E se quiser você também pode fazer um fork e alterar o quê lhe incomoda. Esse pacote possui Licença MIT, então não posso te dar nenhuma garantia. Mas esteja dito que eu utilizo esse pacote nos meus projetos.
  • Você vai manter esse pacote?
  • Pretendo. Mas claro, as coisas podem mudar com o tempo. -Como eu posso te dar apoio? -Se você está usando meu pacote isso já é o suficiente para mim.

Agradecimentos

Licença

Esse projeto possui Licença MIT - veja o arquivo LICENSE.md para mais detalhes