首页 文章

让用户永远登录React Native应用程序

提问于
浏览
1

我正在尝试找出最好的方法,让用户登录后立即登录我的RN应用程序,直到他们卸载应用程序 .

我正在使用Node / Express后端,它接受每个请求的JWT,目前我唯一的计划是在登录时发送永不过期的JWT并使用AsyncStorage永久存储它 .

这本能地感觉不安全,但我不是安全和令牌方面的专家 . 我现在正在使用Expo来让我的RN应用程序离开地面,但将来我计划“弹出”它,一旦我这样做,我可以使用react-native-keychain更安全地存储它,但它仍然是JWT永不过期 .

我的spotify应用程序从未要求我重新登录,所以我知道我想做的事情并不疯狂 .

但有更好的方法吗?

1 回答

  • 2

    你不应该使用长期的 JWT ,因为如果 secret keys 使用的是弱或短,它们很容易被破解 .

    有一些可用的库可以帮助您跟踪可以破解 JWT 的暴力持续时间,例如jwt-crackerc-jwt-cracker .

    因此,您应该使用 Expo SDK 中已有的SecureStore . IOS值使用keychain services存储,而Android值存储在SharedPreferences中,使用Android's Keystore system加密 .

    如果使用令牌的 API 中存在错误,您只需调用重新认证或使用 Interceptors 刷新它

相关问题