Authentication 谷歌登录问题

Authentication 谷歌登录问题,authentication,react-google-login,Authentication,React Google Login,我正在尝试用Redux将google登录集成到我的应用程序(MERN)电子商务站点。当我用电子邮件和密码登录,当我用谷歌登录时,一切都很完美,这也很有效,但是有些部分我无法再访问了,我会获得res.status 401 0r 500,具体取决于我的个人情况。如果我记录我的用户信息,一切都是一样的。。。我绝望了。 我的问题是这看起来像是谷歌的问题还是编码的问题。 如果是代码问题,可以在需要时共享代码片段/////// const client = new OAuth2Client(process.

我正在尝试用Redux将google登录集成到我的应用程序(MERN)电子商务站点。当我用电子邮件和密码登录,当我用谷歌登录时,一切都很完美,这也很有效,但是有些部分我无法再访问了,我会获得res.status 401 0r 500,具体取决于我的个人情况。如果我记录我的用户信息,一切都是一样的。。。我绝望了。 我的问题是这看起来像是谷歌的问题还是编码的问题。
如果是代码问题,可以在需要时共享代码片段///////

const client = new OAuth2Client(process.env.GOOGLE_CLIENT_ID);
const googleLogin = asyncHandler(async (req, res) => {
  const { idToken } = req.body;
  client
    .verifyIdToken({ idToken, audience: process.env.GOOGLE_CLIENT_ID })
    .then((response) => {
      console.log("GOOGLE LOGIN RESPONSE", response);
      const { email_verified, name, email } = response.payload;
      console.log("=====>", response.payload);
  if (email_verified) {
    User.findOne({ email }).exec((err, user) => {
      if (user) {
        const token = jwt.sign({ _id: user._id }, process.env.JWT_SECRET, {
          expiresIn: "7d",
        });
        const { _id, email, name, isAdmin } = user;
        return res.json({ _id, email, name, isAdmin, token });
      } else {
        let password = email + process.env.JWT_SECRET;
        user = new User({ name, email, password });
        user.save((err, data) => {
          if (err) {
            console.log("ERROR GOOGLE LOGIN ON USER SAVE", err);
            return res.status(400).json({
              error: "User signup failed with google",
            });
          }
          const token = jwt.sign(
            { _id: data._id },
            process.env.JWT_SECRET,
            { expiresIn: "7d" }
          );
          const { _id, email, name, isAdmin } = data;
          return res.json({ _id, email, name, isAdmin, token });
        });
      }
    });
  } else {
    return res.status(400).json({
      error: "Google login failed. Try again",
    });
  }
});
});
/////谷歌//////

import React from "react";
import axios from "axios";
import GoogleLogin from "react-google-login";

const Google = ({ googleLog }) => {
const responseGoogle = (response) => {
console.log(response.tokenId);

   axios({
  method: "POST",
  url: `${process.env.REACT_APP_API}/google-login`,
  data: { idToken: response.tokenId },
})
  .then((response) => {
    console.log("GOOGLE LOGIN SUCCESS", response.data);
    googleLog(response.data);
    localStorage.setItem("userInfo", JSON.stringify(response.data));
  })

  .catch((error) => {
    console.log("GOOGLE LOGIN ERROR", error);
  });
 };

  return (
  <div className="pb-3">
  <GoogleLogin
    clientId={`${process.env.REACT_APP_GOOGLE_CLIENT_ID}`}
    //clientId="554514820450- 
 je21h5tlk31a62mm1hv1kj8p8vf497si.apps.googleusercontent.com"
    onSuccess={responseGoogle}
    onFailure={responseGoogle}
    render={(renderProps) => (
      <button
        onClick={renderProps.onClick}
        disabled={renderProps.disabled}
        className="btn btn-danger btn-md btn-block"
      >
        {" "}
        <i className="fab fa-google pr-2"></i>
        login with google
      </button>
    )}
    cookiePolicy={"single_host_origin"}
  />
</div>
 );
 };

export default Google;

这是谷歌问题的可能性微乎其微。不清楚你所说的我无法理解的某些部分是什么意思。分享代码片段,并指出似乎功能不正常的部分
  const googleLog = (response) => {
  console.log("googlelogin response =>", response.isAdmin);
    dispatch({
    type: USER_LOGIN_SUCCESS,
    payload: response,
});

 if (dispatch) {
  const push = history.push;
  setTimeout(() => push(redirect), 2000);
  }
 };