【发布时间】:2020-10-08 14:34:55
【问题描述】:
我正在尝试使用 oAuth2 代码授权流程在我的 google 操作上启用帐户链接。
不幸的是,我的链接在最后一步失败了。我认为我没有将 /token 端点的结果正确返回给谷歌。
重定向到我的操作页面后,我可以在控制台中看到 400 错误的响应(/authorize 工作正常):
{
"error": {
"code": 400,
"message": "\u003ceye3 title='/OpenIdConsumerService.ValidateOpenId, INVALID_ARGUMENT'/\u003e APPLICATION_ERROR;apps_auth/OpenIdConsumerService.ValidateOpenId;com.google.identity.accountlinking.error.FederatedProtocolException: \u003ceye3 title='INVALID_ARGUMENT'/\u003e OpenAuth::INPUT_ERROR: ;AppErrorCode=13;StartTimeMs=1602166359350;tcp;Deadline(sec)=59.962523136;ResFormat=UNCOMPRESSED;Originator=traffic-prod;Tag=\u0002cloud_project_number\u0003744920882961\u0002IncomingMethod\u0003/OAuthIntegrationsService.GetTokenForService\u0002cidc\u00032;ServerTimeSec=1.00669508;LogBytes=256;Non-FailFast;EffSecLevel=privacy_and_integrity;ReqFormat=UNCOMPRESSED;ReqID=2d3a46fa4ab8370e;GlobalID=c34268105821e185;Server=[2002:ab3:7310::]:4155",
"status": "INVALID_ARGUMENT"
}
}
这是我为 /token 发回谷歌的正文(我猜这会导致上面的错误):
{
"access_token":"jwt-token-here",
"expires_in":"1602162256000",
"refresh_token":"refresh-token-here",
"refresh_token_expires_in":"31535999",
"token_type":"Bearer",
"scope":"read"
}
身体的结构是否正确?我认为这是因为 jwt 令牌,但是当我手动解码时,一切看起来都很好。
任何帮助表示赞赏!
谢谢
【问题讨论】:
标签: google-cloud-platform oauth-2.0 google-oauth actions-on-google