使用JWT反应从受保护的API终结点获取本地数据

时间:2019-01-29 17:36:28

标签: react-native jwt fetch axios

我正在开发React Native应用程序,该应用程序连接到用ASP.NET Core 2.1编写的Web API。我正在尝试向安全API的端点发出GET请求,但它不适用于 fetch axios

值得注意的是,当我向不安全的(标记为AllowAnonymous)终结点发出请求时,一切正常。

我要传递标题'Authorization' : 'Bearer ' + MY_TOKEN

当我尝试使用 axios 时,它返回HTTP401。当使用 fetch 时,它返回HTTP 500。

 const url = `${baseUrl}/api/cars/get`

 fetch(url, {
        headers: new Headers({
            Authorization: "Bearer <MY_TOKEN_HERE>"
        }), method: "GET"
    })

我确定令牌是有效的,因为我能够使用Postman和.NET Core控制台应用程序客户端从API中获取数据。

有什么方法可以从安全的API端点获取数据吗?

1 个答案:

答案 0 :(得分:0)

我只用一行代码就解决了这个问题。

axios.defaults.headers.common['Authorization'] = `Bearer ${TOKEN}`

然后我可以调用get请求。

const url = `${baseUrl}/api/values`;

axios.get(url)
    .then(data => {
         console.log(data);
    })
    .catch(error => {

    })

希望它可以帮助将来会遇到此类问题的人。