这是Google oauth2发现网址。 https://accounts.google.com/.well-known/openid-configuration 在响应中,它看起来像这样
/public/index.html
此处https://developers.google.com/identity/protocols/OAuth2WebServer#exchange-authorization-code的google文档中的if(Object.prototype.toString.call(arrayList) === '[object Array]') {
console.log('Array!');
}
说应该是{
"issuer": "https://accounts.google.com",
"authorization_endpoint":"https://accounts.google.com/o/oauth2/v2/auth",
"token_endpoint": "https://oauth2.googleapis.com/token",
"userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo",
"revocation_endpoint": "https://oauth2.googleapis.com/revoke",
"jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
...
。
也许最近更新了token_endpoint
,但是当我使用https://www.googleapis.com/oauth2/v4/token
与token_endpoint
交换https://oauth2.googleapis.com/token
时,会收到错误响应。
token
如果我使用code
做同样的事情,一切都很好。
{ "error": { "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT" } }
中有什么变化吗?谢谢!
答案 0 :(得分:1)
OAuth端点在过去五年中已多次更新。我通常会按照发现文档中的内容进行操作,但是您的示例表明,这并不总是始终是最好的方法。
我从未听说过Google关闭旧的端点,我建议您使用可行的端点。附带说明,我将与Google联系,以查看是否可以就一个呼叫为什么起作用而另一个没有起作用的原因获得一些反馈。