【问题标题】:React.js - error when try to authorize with firebase gmail tokenReact.js - 尝试使用firebase gmail令牌授权时出错
【发布时间】: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


【解决方案1】:

问题是您在发送的请求中缺少“=”。

.post("https://auth-by-f038f-default-rtdb.firebaseio.com/AllInputes.json?auth" + token , 数据)

改成

.post("https://auth-by-f038f-default-rtdb.firebaseio.com/AllInputes.json?auth=" + token , 数据)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2020-04-22
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    相关资源
    最近更新 更多