React Native中的动态HTTP标头

时间:2018-07-10 07:20:21

标签: api react-native dynamic http-headers react-native-ios

我正在使用本机开发一个应用程序。在应用程序中,出于安全原因,我们正在使用承载令牌来调用API。我设法用静态标题内容调用了API。但是,我正在努力寻找一种动态更新标头“授权”的方法。我创建了一个Utility类,并从那里获取标题值。但是我不明白如何动态设置授权密钥。我创建了以下方法:

Utility.headers = function() {
  return {
  "content-type": "application/x-www-form-urlencoded",
  "accept": "application/json",
  "api-token": "XXXXXXXXXXXXXXXXXXXXXXXXXX",
  "Authorization": "Bearer XXXXXXXXXXXXXXXXXXXXX"
  }
}

此方法将返回API标头。但是我的授权值是动态的。而且我不知道如何使其动态。请帮我解决一下这个。我是新来的本地人

谢谢。

1 个答案:

答案 0 :(得分:0)

使用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