我正在考虑在登录我的本机应用程序后评估存储访问令牌的方法。目前,我能够使用react native将用户名和密码存储在keychain中,以便我可以再次调用login api来获取新的访问令牌。我已经发现的几个选项如下。
1)使用AyncStorage存储访问令牌。 2)创建一个db表来存储该值。 3)Redux持久存储到
但我面临的复杂因素是访问令牌在10分钟后过期。我希望看看是否有人可以提出一个无缝选项来检查访问令牌是否有效,如果不是,则不会使用凭据调用登录api并存储新的访问令牌。这必须在后台,不应对用户体验产生任何影响。
答案 0 :(得分:0)
如果您使用的是Redux,您可以将过期时间存储在reducer中,并在每次用户执行依赖令牌的操作以及componentWillMount中时检查它。
如果您有数据库,则可以应用相同的逻辑,但在这种情况下,您将向服务器发出检查请求。您还可以使用服务器时区来避免依赖客户端时钟。
您也可以在本地存储并在需要时检索此数据。
如果它是单个屏幕,那么你可以调用一个函数来使用600000英里秒的setTimeout(它等于10分钟)来检查它。
希望它有所帮助。