api - react Native 中的动态 HTTP 标头
问题描述
我正在开发一个带有本机反应的应用程序。在应用程序中,出于安全原因,我们使用不记名令牌来调用 API。我已经设法使用静态标题内容调用 API。但是,我正在努力寻找一种方法来动态更新标题“授权”。我创建了一个实用程序类并从那里获取标题值。但我不明白如何动态设置授权密钥。我创建了以下方法:
Utility.headers = function() {
return {
"content-type": "application/x-www-form-urlencoded",
"accept": "application/json",
"api-token": "XXXXXXXXXXXXXXXXXXXXXXXXXX",
"Authorization": "Bearer XXXXXXXXXXXXXXXXXXXXX"
}
}
此方法将返回 API 标头。但我的授权值是动态的。而且我不知道如何使它动态化。请帮我解决一下这个。我是新来的反应原生
提前致谢。
解决方案
使用 AsyncStorage 存储您的授权标头。
await AsyncStorage.setItem('bearer', '...');
然后进入你的函数。
像这样:
Utility.headers = async function () {
const jwt = await AsyncStorage.getItem('bearer');
return {
"content-type": "application/x-www-form-urlencoded",
"accept": "application/json",
"api-token": "XXXXXXXXXXXXXXXXXXXXXXXXXX",
"Authorization": "Bearer " + jwt
}
}
您可以在此处阅读有关 AsyncStorage 的更多信息:https ://facebook.github.io/react-native/docs/asyncstorage.html