在 React Native 中将持久会话的访问令牌设置为 redux 状态是否安全?

Kev*_*Lee 7 react-native redux

我正在尝试找出一种安全的方法来在本机反应中保留会话。

我有一些敏感数据,例如从服务器检索的访问令牌,我计划将其设置为 redux 状态。

我不确定设置敏感数据是否安全accessTokenredux 状态)是否安全。

如果不安全,我是否应该将其保存accessToken到设备存储(例如react-native-keychain)accessToken并在每个屏幕请求和服务器请求上加载?

dispatch({type: LOGIN_SUCCESS, payload: {refreshToken, authTimestamp, email} });
Run Code Online (Sandbox Code Playgroud)
const INITIAL_STATE = {    
    token: {      
        accessToken: '',          
        loading: false,
        error: ''
    }
};
Run Code Online (Sandbox Code Playgroud)

War*_*rad 5

是的,如果您打算存储它,您应该保存accessToken设备内的安全存储。可能的内容refreshTokens永远不应该离开您的服务器,因为这对于不断生成新的accessTokens.

您可以每次加载accessToken。另一种选择是将其存储accessToken在安全的 cookie 中并将其传回应用程序,这样您就根本不必担心令牌的管理。

然后是如何填充它的问题,通常与身份验证服务和授权提供程序集成。这是保护您的应用程序的两个不同的附加步骤。我假设您已经有了现成的解决方案(如果不发表评论,我将在此处添加一些示例)

  • 我会重复一遍,“刷新令牌”永远不应该发送到设备。 (2认同)