代码交换成功后,Google 返回给我的 id 令牌该如何使用?

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

我不清楚在初步验证后我应该如何处理 Google 的 id 令牌。

我正在 expo/react Native 上进行开发并在本地获取 id 令牌。然后,我将其发送到我的服务器并使用谷歌客户端库验证它。验证后我该怎么办?

理想情况下,我可以使用它来保护我的 api 路由(express),但 id 令牌会在 1 小时后过期,并且我不知道如何使用客户端库刷新它们。所以,我不知道该怎么做。

这是 id 令牌的预期用途吗?我应该签署自己的 jwt 并将其发送回客户端吗?然后,客户端可以将每个请求的 auth 标头中的内容发送到受保护的路由。

谷歌说:

验证令牌后,检查该用户是否已在您的用户数据库中。如果是,请为用户建立经过身份验证的会话。如果用户尚未位于您的用户数据库中,请根据 ID 令牌负载中的信息创建新的用户记录,并为该用户建立会话。当您在应用程序中检测到新创建的用户时,您可以提示用户提供所需的任何其他个人资料信息。

https://developers.google.com/identity/sign-in/ios/backend-auth

我是否使用 id 令牌“为用户建立会话”?

oauth-2.0 google-oauth openid-connect google-signin google-openid
3个回答
4
投票

是的,ID 令牌仅用于创建本地会话,如果使用的话,也许还可以在本地数据库中创建本地条目。

ID 令牌的生命周期也很短,在某些系统中为 5 分钟。所以不宜长期使用。


3
投票

ID 令牌用于验证用户身份。它为您提供有关经过身份验证的用户的信息,不应将其用于允许访问您的端点。访问令牌或会话旨在实现此目的。因此,在您的情况下,您应该完全按照您的直觉去做 - 根据您在 ID 令牌中获得的数据为用户创建一个会话。

如果您有自己的授权服务器,您可以使用 ID 令牌颁发访问令牌并将令牌返回到前端应用程序,然后使用 访问令牌 访问您的后端。如果您想这样做,请查看 OAuth 流程。


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.