React Native Expo的SecureStorage和redux-saga的加密/解密问题

xqkwcwgp  于 2023-08-07  发布在  React
关注(0)|答案(1)|浏览(130)

我正在制作一个React Native应用程序,其中包含一个带有令牌支持的登录模块,因此用户不必每次都登录。
有时候我会犯错误:

Error: Could not encrypt/decrypt the item in SecureStore
    at createErrorFromErrorData (NativeModules.js:146)
    at NativeModules.js:95
    at MessageQueue.__invokeCallback (MessageQueue.js:397)
    at MessageQueue.js:127
    at MessageQueue.__guard (MessageQueue.js:297)
    at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:126)

字符串
错误只是随机发生的,所以我不知道如何找出错误所在,也不知道如何调试问题。
我所做的就是检查令牌是否已经存储:

let userToken = yield call(SecureStore.getItemAsync, "userToken");


保存从服务器接收的令牌(如果还没有):

yield call(SecureStore.setItemAsync, "userToken", token);


除了一个一年多前的GitHub issue没有合适的解决方案外,我还没有找到其他关于这个问题的问题。
有没有人遇到过同样的问题,并找出原因?

更新:

我在移动的上工作没有问题,但如果能在模拟器上使用SecureStore就太好了。

wh6knrhe

wh6knrhe1#

尝试清除之前设置的SecureStore中的所有数据。对我很有效。
我在卸载和重新安装Expo GO后也遇到了同样的问题。为了解决这个问题,我清除了SecureStore中的所有数据并重新分配它们。它工作了:)

相关问题