SecureStore
doesnot在Web上工作,所以我这样做:
async function getUserDetails() {
try { //Android and Apple
const token = await SecureStore.getItemAsync('token')
const data = await axios.get(apiurl+'&JWT='+token)
console.log('using SecureStore')
} catch (err) { //Web
const token = await AsyncStorage.getItem('token')
const data = await axios.get(apiurl+'&JWT='+token)
console.log('using AsyncStorage')
}
}
所以如果我想攻击我自己的应用程序,我只要使用浏览器,我就能看到纯文本格式的JWT,对吧?如何解决这个问题?
React Native主要用于ios
和android
,但是如果你想在web上使用这个应用程序,你可以使用Crypto
加密这些数据,所以你在存储数据之前加密它们。