如何使用 googlelogin 派生令牌 id?不断收到 JsonWebTokenError: jwt malformed 错误

问题描述 投票:0回答:1

我正在使用 @react-oauth/google 包来设置 google 登录身份验证按钮。 成功登录后,我可以使用 jwtdecode 从响应凭据中获取用户详细信息。但是,我不知道如何从凭据中派生令牌 id。请参阅下面的我的代码。我收到 jwt 格式错误的错误。

<GoogleLogin
                    
onSuccess={googleSuccess}
onError={() => {
console.log('Login Failed');
}}
/>


  const googleSuccess = (res) => {
    
    const result = jwtDecode(res.credential)
    console.log(result)
    const token = result.sub
    
    try {
      dispatch({ type: AUTH, data: { result, token} });

      navigateTo('/')
      
    } catch (error) {
      console.log(error);
    }
  };
jwt google-oauth
1个回答
0
投票

我设法解决了它。 res.credential 本身就是令牌。下面是修改后的代码。

const googleSuccess = (res) => {
    console.log(res);
    const result = jwtDecode(res.credential);
    console.log(result);
    const token = res.credential;

    try {
      dispatch({ type: AUTH, data: { result, token } });

      navigateTo("/");
    } catch (error) {
      console.log(error);
    }
  };
© www.soinside.com 2019 - 2024. All rights reserved.