Я использую Expo Securestore для хранения токенов JWT. В Android он работает без каких -либо проблем, но в iOS он внезапно теряет токены JWT в производстве, и клиенты должны входить в систему еще раз. Раньше я использовал AsyncStorage для хранения токенов JWT. Проблема была одинаковой после небольшого расследования, я узнаю, что я должен хранить JWT в Securestore , потому что значения хранятся с использованием сервисов ключей в качестве ksecclassgenericpassword. Но после изменения iOS все еще продолжает удалять токены JWT. Это код, как я храняю jwt. < /P>
export const login = createAsyncThunk(
"auth/login",
async (userCredentials, thunkAPI) => {
const notifToken = await SecureStore.getItemAsync("notification_token");
try {
let loginData = {
email: userCredentials.mail,
password: userCredentials.password,
};
if (notifToken) {
loginData = {
...loginData,
notif_token: notifToken,
};
}
const response = await axios.post(ENDPOINTS.loginToken, loginData, {
headers: {
"Content-Type": "application/json",
},
});
await SecureStore.setItemAsync("access_token", response.data.access);
await SecureStore.setItemAsync("refresh_token", response.data.refresh);
return response.data;
} catch (error) {
await SecureStore.clear();
return thunkAPI.rejectWithValue(error.response.data);
}
}
);
Подробнее здесь: https://stackoverflow.com/questions/794 ... ored-in-it