验证从oauth2 / v4 / token收到的Google OAuth ID令牌

时间:2015-04-28 10:17:43

标签: c# .net google-oauth google-authentication

我们目前正在使用Google OpenId Connect对我们的用户进行身份验证。

我已按照here所述access token成功检索id tokentoken_endpoint。稍后我按here所述验证id tokentoken_endpoint将通过discovery document(根据Google推荐)收到token_endpoint

问题

但是几天之后似乎有一个新版本的发现文档,因为https://www.googleapis.com/oauth2/v3/token 已从

更改
https://www.googleapis.com/oauth2/v4/token

id token

新端点返回稍长的https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=xxx,无法再使用{ "error": "invalid_token", "error_description": "Invalid Value" } 进行验证。请求返回错误

token_endpoint

如果我将https://www.googleapis.com/oauth2/v3/token硬编码到旧网址(token_endpoint),一切都会像之前一样正常。

问题

由于旧的OpenID 2.0几天前已经关闭,我认为关闭,新的id_tokenid token的验证之间可能存在一些关联,但是我找不到任何东西。

是否有任何解决方案可通过https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=xxx网址验证新的稍长tokeninfo?对于调试,使用proportions端点更容易,稍后在生产中我们可能会在本地验证令牌(Validating Google ID tokens in C#)。

1 个答案:

答案 0 :(得分:1)

invalid_token错误是由v1/tokeninfo中的问题引起的,与v4/token终端中的modified ID tokens相关,正如您所怀疑的那样。该问题已得到解决,令牌应在tokeninfo再次正确验证。感谢您的详细帖子!