使用职员进行身份验证时如何获取登录用户的谷歌访问令牌

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

在我的 NextJS 应用程序中,我使用 clerk for auth (Google SSO),我希望能够代表登录用户通过 UI 创建一个 google meet 事件。我相信这样做的方法是,一旦用户使用了通过 google ss 登录,我应该能够检索他们的 google 访问令牌,该令牌可用于查询 google 日历 api 并进行活动。我已经授予

https://www.googleapis.com/auth/calendar.events https://www.googleapis.com/auth/calendar
作为 Google SSO 的职员的附加范围,因此现在用户可以在注册时或稍后通过职员 ui 授权这些。

问题是获取谷歌访问令牌。默认情况下它不在用户对象中。我不知道如何获得它。也许有某种方法可以在登录时获取它并使用 webhook 将其保存到用户元数据中?我认为这应该很容易或者至少是可能的,否则我不知道为什么你可以在职员中为身份提供者授予额外的范围。

非常感谢任何帮助。干杯

我搜索了文档 https://clerk.com/docs/authentication/social-connections-oauth#configure-additional-o-auth-scopes 为 google calendar api 引入了额外的 o-auth 范围。在获取谷歌访问令牌时找不到任何内容。 GPT-4 无法解决它,认为它应该默认在用户对象中,但事实并非如此。

oauth-2.0 oauth google-oauth google-calendar-api clerk
1个回答
0
投票

Clerk Devs 为我链接了适当的文档。

在nextjs中可以在后台使用clerkClient.users来获取

https://clerk.com/docs/reference/backend-api/tag/Users#operation/GetOAuthAccessToken

https://api.clerk.dev/v1/users/{user_id}/oauth_access_tokens/{provider}

© www.soinside.com 2019 - 2024. All rights reserved.