在React中设置JWT授权标头

时间:2017-02-03 18:13:21

标签: javascript jquery jwt

我将我的JWT令牌存储在localStorage中,我试图通过jquery在React组件中使用它。

这是发出GET请求的地方:

componentDidMount() {
    $.ajax({
      url: "/items",
      dataType: 'json',
      headers: {
        'Authorization': 'JWT ' + localStorage.getItem('jwt'),
      },
      success: function(items) {
        this.setState({items: items});
      }.bind(this)
    });
  },

这是后端(烧瓶)供参考:

@app.route('/items', methods=['GET'])
@jwt_required()
def items():
    items = db.session.query(Item)
    return jsonify([{
        'id': item.id,
        'name': item.name,
        'quantity': item.quantity,
    } for item in items])

我认为我正在错误地编写jQuery调用,但我无法确切地确定,有人有建议吗?

编辑:抱歉,我忘了描述问题。

javascript能够从localStorage检索正确的令牌。确切的错误是401: Unauthorized

我还尝试了以下行,它给出了同样的错误:

beforeSend: function(xhr) {
  xhr.setRequestHeader("Authorization", "Bearer " + localStorage.getItem('jwt'));
},

编辑:通过谷歌Chrome控制台,我看到标题实际上已发送。

0 个答案:

没有答案