Google oauth2 discovery возвращает неправильный token_endpoint - PullRequest
0 голосов
/ 27 сентября 2018

Вот URL-адрес открытия Google oauth2.https://accounts.google.com/.well-known/openid-configuration И в ответе это выглядит следующим образом

{
  "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 в документе Google здесь https://developers.google.com/identity/protocols/OAuth2WebServer#exchange-authorization-code говорит, что должно быть 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" } }

И еслиЯ использую https://www.googleapis.com/oauth2/v4/token, чтобы сделать то же самое, все хорошо.

Что-нибудь изменилось в google identify platform?Спасибо!

1 Ответ

0 голосов
/ 27 сентября 2018

Конечная точка OAuth обновлялась несколько раз за последние пять лет.Я обычно придерживаюсь того, что я нашел в документе discovery, но ваш пример показывает, что это не всегда лучший способ действий всегда.

Я никогда не слышал, чтобы Google закрывал старые конечные точки, я предлагаю вам использовать ту, которая работает.В качестве примечания я свяжусь с Google, чтобы узнать, смогу ли я получить обратную связь о том, почему один вызов сработал, а другой - нет.

...