javascript - 每次我刷新 expo 客户端时,SecureStore 都会删除我的令牌
问题描述
在 expo 客户端中开发我的应用程序时,我从 SecureStore 检索我的身份验证令牌时遇到问题。
我正在尝试使用secureStore而不是异步存储从反应导航中实现此身份验证流程:https ://reactnavigation.org/docs/en/4.x/auth-flow.html
目前,当我登录时,我的令牌存储在 SecureStore 中。我知道这一点,因为我可以使用它来授权我的请求。
我的问题是当我正在开发我的应用程序的博览会客户端刷新时,令牌似乎消失了,所以我必须再次登录。
世博会客户端应用程序刷新是否从安全商店清除令牌,或者我的代码中是否存在阻止我在再次打开我的应用程序时检索令牌的错误:
useEffect(() => {
_bootstrapAsync = async () => {
const token = await SecureStore.getItemAsync('token')
navigation.navigate(token ? 'App' : 'Auth');
};
_bootstrapAsync();
}, [])
解决方案
尝试在两者周围包装一个 try-catch 块getItemAsync
,setItemAsync
然后看看你是否收到任何错误作为开始。
您也有可能使用旧的导入语法,请确保您使用的是import * as SecureStore from "expo-secure-store"
,这将导致错误,undefined is not an object
因此数据从未保存。
推荐阅读
- python - 手动初始化pytorch中的模型参数
- azure - 将 HTTPListener 与 Azure Web 应用程序一起使用
- css - 需要在CSS上做一个css曲线
- angular - 错误:目标入口点“@angular/flex-layout”缺少依赖项:-@angular/cdk/bidi
- google-chrome-extension - 向 Chrome 扩展添加“激活扩展”快捷方式
- html - 填充 div 的整个宽度 - 菜单
- python - 将基于 Flask 的 API 转换为 AWS Lambda
- c# - 如何在 C# 中访问 Json(这是 HttpMessage 的结果)?
- google-api - 此 Google API 错误消息是什么意思?
- python - 使用 loglocator 和不同的 x 和 y 限制时,Matplotlib 日志图不显示所有主要和次要刻度