我正在使用 @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);
}
};
我设法解决了它。 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);
}
};