我们目前正在使用Google OpenId Connect对我们的用户进行身份验证。
我已按照here所述access token
成功检索id token
和token_endpoint
。稍后我按here所述验证id token
。 token_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_token
和id token
的验证之间可能存在一些关联,但是我找不到任何东西。
是否有任何解决方案可通过https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=xxx
网址验证新的稍长tokeninfo
?对于调试,使用proportions
端点更容易,稍后在生产中我们可能会在本地验证令牌(Validating Google ID tokens in C#)。
答案 0 :(得分:1)
invalid_token
错误是由v1/tokeninfo
中的问题引起的,与v4/token
终端中的modified ID tokens相关,正如您所怀疑的那样。该问题已得到解决,令牌应在tokeninfo
再次正确验证。感谢您的详细帖子!