首页 > 解决方案 > 无法使用 react-native-secure-key-store 保存密钥

问题描述

react-native-secure-key-store当我在 Android 上的 React Native 项目中调用类似以下内容以使用包存储密钥时...

RNSecureKeyStore.set("my_key", "some-token-123")
.then(res => {
  console.log("Key saved", res);
}, err => {
  console.error("Unable to set key", err);
});

...我收到一条错误消息:

RNSecureKeyStore.set 有 4 个参数,预期为 5

安卓错误信息

但是,在RNSecureKeyStoreModule.java文件中看起来该set方法接受 4 个参数:

@ReactMethod
public void set(String alias, String input, @Nullable ReadableMap options, Promise promise)

不太确定我在这里缺少什么?我已经完成了通常的大海捞针工作,例如清理和重建项目、删除/重新安装/重新链接所有包等 :)

标签: react-nativereact-native-androidandroid-keystore

解决方案


你应该添加ACCESSIBLE

例子

import RNSecureKeyStore, {ACCESSIBLE} from "react-native-secure-key-store";

// For storing key
RNSecureKeyStore.set("key1", "value1", {accessible: ACCESSIBLE.ALWAYS_THIS_DEVICE_ONLY})
    .then((res) => {
        console.log(res);
    }, (err) => {
        console.log(err);
    });

推荐阅读