use*_*841 2 authorization token reactjs next.js next-auth
简而言之:如何从 nextauth 获取 google id 令牌?
详细信息:我通过 Google 进行授权,之后我必须在服务器上验证 Google 的响应,之后服务器会将其访问令牌返回给我。一个构建后端的朋友告诉我他需要一个id_token,他会用 来检查google-auth。无论我如何尝试设置回调,我都无法获取id_token. 我只在 cookie 中获取会话令牌,没有其他任何信息。
如果可以在没有 的情况下执行此操作id_token,请也写下。
以下是如何实现这一目标的一个片段。您必须使用回调获取从 google 返回的帐户详细信息:
callbacks: {
async jwt({ token, user, account }) {
// Persist the OAuth access_token to the token right after signin
if (account) {
token.id_token = account.id_token;
}
return token;
},
async session({ session, token }) {
// Send properties to the client, like an access_token from a provider.
session.id_token = token.id_token;
return session;
},
},
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过执行以下操作来检索令牌:
const { data: session } = useSession();
console.log(session.id_token)
Run Code Online (Sandbox Code Playgroud)
所以基本上,我们刚刚所做的就是访问id_token谷歌提供的内容。我们从中访问了它account,现在我们正在传递给该session对象,以便我们可以在应用程序的客户端中使用。
PS>terminal在使用谷歌进行身份验证期间检查您的身份。您将在终端内看到配置文件对象和帐户对象的日志。
| 归档时间: |
|
| 查看次数: |
4899 次 |
| 最近记录: |