gpt4 book ai didi

javascript - 在 React Native 移动应用程序中存储用户凭据的位置

转载 作者:行者123 更新时间:2023-12-05 00:30:33 24 4
gpt4 key购买 nike

我设计了一个完整的移动应用程序。
用户必须使用其凭据登录才能访问该应用程序。但是,一旦他/她登录,我不确定在哪里存储凭据。我将在应用程序的不同屏幕中重复使用用户名。我在哪里可以存储它们以及如何访问它们?例如,是否有全局变量之类的东西?
另外,假设用户第一次登录。我希望用户能够关闭应用程序。用户返回后,不应要求他/她重新输入其凭据。怎么可能呢?
谢谢

最佳答案

幸运的是,所有这些信息都可以在 React Native 官方文档中找到。
https://reactnative.dev/docs/security#storing-sensitive-info

For persisted user data, choose the right type of storage based on its sensitivity. As your app is used, you’ll often find the need to save data on the device, whether to support your app being used offline, cut down on network requests or save your user’s access token between sessions so they wouldn’t have to re-authenticate each time they use the app.


实现这一目标的常用方法是使用每个平台的安全存储。
iOS - 钥匙串(keychain)服务
Keychain Services允许您为用户安全地存储小块敏感信息。这是存储证书、 token 、密码和任何其他不属于异步存储的敏感信息的理想场所。
Android - 安全共享首选项
Shared Preferences是持久键值数据存储的 Android 等效项。 Shared Preferences 中的数据默认不加密,而是 Encrypted Shared Preferences包装 Android 的 Shared Preferences 类,并自动加密键和值。
Android - keystore
Android Keystore 系统允许您将加密 key 存储在一个容器中,以使其更难以从设备中提取。
为了使用 iOS Keychain 服务或 Android Secure Shared Preferences,您可以自己编写桥接器或使用为您包装它们并提供统一 API 的库,风险自负。需要考虑的一些库:
  • expo-secure-store
  • react-native-keychain
  • react-native-sensitive-info - 对 iOS 安全,但使用 Android Shared
    Android 的首选项(默认情况下不安全)。有
    但是一个使用 Android Keystore 的分支。
  • redux-persist-sensitive-storage - 包装 react-native-sensitive-info
    对于 Redux。

  • 更多信息在这里: https://reactnative.dev/docs/security#secure-storage

    关于javascript - 在 React Native 移动应用程序中存储用户凭据的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63315433/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com