【发布时间】:2021-05-24 03:14:29
【问题描述】:
在反应中,我使用 firebase Gmail 登录。然后我保存 Gmail 令牌 userId。并在我发布一些值时尝试使用令牌。但我总是出错。我不明白如何验证这个令牌。
export const inputIn = (data, token) => {
return (dispatch) => {
axios
.post("https://auth-by-f038f-default-rtdb.firebaseio.com/AllInputes.json?auth" + token , data)
.then((response) => {
dispatch(inputSuccess(response.data.name, data));
})
.catch((err) => {
console.log("error: ", err);
});
};
};
firebase 中的规则:
{
"rules": {
"AllInputes":{
".read": "auth != null",
".write": "auth != null",
".indexOn": ["userId"]
}
}
}
错误:
xhr.js:177 POST https://auth-b....com/AllInputes.json?authya29.A0Af... 401 (Unauthorized)
error: Error: Request failed with status code 401
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.handleLoad (xhr.js:62)
【问题讨论】:
-
token是如何初始化的? -
var provider = new firebase.auth.GoogleAuthProvider(); firebase .auth() .signInWithPopup(provider) .then((result) => { localStorage.setItem("token", result.credential.accessToken); localStorage.setItem("userId", result.user.uid); 我使用 firebase Gmail 登录。我将令牌保存在 localStorage 中,然后将其用于发布值。
-
github.com/Forhadx/Login-by-Gmail.git(这是我的完整代码 Github 链接)。感谢您的回复。
标签: reactjs firebase axios gmail