我是react-native的新手。我试图满足devise_token_auth的要求,在每个请求中发送认证头。为了做到这一点,我正在尝试这样的东西:
export const scheduleFetch = (auth) => {
return (dispatch) => {
fetch(URL, {
method: 'GET',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'access-token': auth['acessToken'],
'token-type': auth['tokenType'],
'client': auth['client'],
'uid': auth['uid']
}
})
.then((response) => {
console.log(response)
response.json()
})
.catch((error) => console.log(error))
}
}
我的后端正在接收请求,所有标题都已填充。但是,我仍然收到消息"_bodyText":"{\"errors\":[\"You need to sign in or sign up before continuing.\"]}"
。
我该怎么做?我是不是跳了一步?
1条答案
按热度按时间nnvyjq4y1#
非常晚的响应,但如果其他人遇到寻找答案,devise_token_auth默认更改每个请求的访问令牌(change_headers_on_each_request= true)。因此,您不仅需要在每个请求中发送auth令牌,还需要在每个响应中保存新的auth令牌。您可以通过在 config/initializers/devise_token_auth.rb 中的初始化器设置中将其设置为false来关闭此功能,在这种情况下,访问令牌不会更改,但会降低安全性。