безопасно ли установить токен доступа в состояние redux для постоянного сеанса в React Native? - PullRequest
2 голосов
/ 13 июля 2020

Я пытаюсь найти безопасный способ сохранения сеанса в режиме React Native.

У меня есть некоторые конфиденциальные данные, такие как токен доступа, полученный с сервера, который я планирую установить в состояние redux.

Я не уверен, безопасно ли устанавливать конфиденциальные данные, такие как accessToken, в состояние redux.

Если небезопасно, следует ли мне сохранить accessToken в хранилище устройства, например react-native-keychain и загружать accessToken при каждом запросе экрана и запросе сервера?

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

1 Ответ

2 голосов
/ 14 июля 2020

Да, вам следует сохранить accessToken в защищенном хранилище устройства, если вы вообще планируете его хранить. Вероятно, refreshTokens никогда не должен покидать ваш сервер, поскольку это возможная уязвимость безопасности для постоянного поколения новых accessTokens.

Вы можете загружать accessToken каждый раз. Другой альтернативой было бы сохранить accessToken в защищенном коде ie и передать его обратно в приложение, тогда вам вообще не придется беспокоиться об управлении токенами.

Тогда там Вопрос в том, как вы собираетесь это заполнить, обычно вы интегрируетесь со службой аутентификации и поставщиком авторизации. Это два разных дополнительных шага для защиты вашего приложения. Я предполагаю, что у вас уже есть готовые решения (если не сделаете комментарий, я добавлю здесь несколько примеров)

...