如何解决NextAuth 会话访问令牌错误
我正在尝试通过 Google Provider 实施 NextAuth,以使用 Youtube Data API 发出请求。但是,在使用会话回调时,访问令牌似乎是错误的,因为我无法使用该令牌发出任何请求。使用 JWT 回调时,访问令牌似乎是正确的。有人经历过吗?我想使用会话回调,但还没有找到获取 JWT 回调会给我的相同访问令牌的方法。
编辑1: 不确定这是否会有所帮助,因为它更像是关于 NextAuth 的会话访问令牌和 JWT 访问令牌是否不同的一般问题,但这是回调选项:
const callbacks = {
async session(session,user) {
// Add property to session,like an access_token from a provider.
const data = await fetch(
`https://www.googleapis.com/youtube/v3/channels?access_token=${user.accessToken}&part=snippet%2CcontentDetails%2Cstatistics%2Cid&mine=true`,{
method: 'GET'
}
);
const response = await data.json();
const newSession = user;
newSession.accessToken = session.accessToken;
newSession.expires = session.expires;
newSession.channelName = response.items[0].snippet.title;
newSession.channelId = response.items[0].id;
return newSession;
}
}
这是使用会话访问令牌的响应:
{
error: {
code: 403,message: 'The request is missing a valid API key.',errors: [ [Object] ],status: 'PERMISSION_DENIED'
}
}
使用 JWT 访问令牌,我得到了正确的结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。