在我们的网站中,我们曾经在使用 Google Sign In 登录时使用 access_token。首先,我们将用户重定向到 google,用户将 access_token 带给我们,然后我们验证该令牌以确保用户是实际的 Google 用户。
然后,我们需要为我们的 Android 应用程序提供 Google 登录功能,因此我希望 Android 开发人员将 access_token 带给我们。他回答说不能。我搜索了一下,发现几乎没有关于 access_token 的文档。在文档中,谷歌说我使用“id_token”。
好的,我想让开发者给我带来id_token,我已经成功验证了token的完整性。然后我想为网站实现相同的功能。
我的 C# 代码是:
string googleId = GoogleJsonWebSignature.ValidateAsync(idToken).Result.Subject;
Run Code Online (Sandbox Code Playgroud)
当我在本地运行它时它工作,但是当我在生产中尝试时,它给出了一个错误:JWT尚未有效
id_token 是发送到后端并验证的正确方法吗?我也找到了另一个选择:code。
代码类似于 A/12112312 ......
Access_token 类似于 ya29.somemorestring
我的问题是,发送到后端哪个正确?顺便说一句,我认为 access_token 有点过时或类似的东西。