使用axios发送承载令牌

13 浏览
0 Comments

使用axios发送承载令牌

在我的React应用中,我使用axios来执行REST API请求。

但是它无法在请求中发送Authorization头。

以下是我的代码:

tokenPayload() {
  let config = {
    headers: {
      'Authorization': 'Bearer ' + validToken()
    }
  }
  Axios.post( 
      'http://localhost:8000/api/v1/get_token_payloads',
      config
    )
    .then( ( response ) => {
      console.log( response )
    } )
    .catch()
}

这里的validToken()方法只会从浏览器存储中返回令牌。

所有的请求都会收到一个500错误响应,表示

无法从请求中解析令牌

来自后端的响应。

如何在每个请求中发送授权头?你推荐React中的其他模块吗?

admin 更改状态以发布 2023年5月25日
0
0 Comments

以下是在axios中设置授权令牌的独特方法。为每个axios调用设置配置并不是一个好方法,您可以通过以下方式更改默认授权令牌:

import axios from 'axios';
axios.defaults.baseURL = 'http://localhost:1010/'
axios.defaults.headers.common = {'Authorization': `bearer ${token}`}
export default axios;

有些API需要将bearer写成Bearer,所以可以这样做:

axios.defaults.headers.common = {'Authorization': `Bearer ${token}`}

现在,您不需要为每个API调用设置配置。现在授权令牌已设置为每个axios调用。

0
0 Comments

const config = {
    headers: { Authorization: `Bearer ${token}` }
};
const bodyParameters = {
   key: "value"
};
Axios.post( 
  'http://localhost:8000/api/v1/get_token_payloads',
  bodyParameters,
  config
).then(console.log).catch(console.log);

第一个参数是URL地址。
第二个参数是将随请求发送的JSON主体。
第三个参数是标头(以及其他内容),也是JSON格式。

0