2014-09-10 7 views
1

Я пытаюсь обменять код аутентификации для доступа к токену на OAuth2.Ошибка Google OAuth 2.0 redirect_uri_mismatch при попытке получить токен доступа

Я отправил запрос в Google, используя запрос GET, и получил код. И теперь я пытаюсь обменять код на токен доступа.

Я послал запрос на https://accounts.google.com/o/oauth2/token с этими аргументами с помощью запроса POST

code=[Authentication code] 
client_id=[Client ID] 
client_secret=[Client Secret] 
redirect_uri=urn:ietf:wg:oauth:2.0:oob 
grant_type=authorization_code 

Но Google responsed, как это с 400 ошибкой

{ "ошибка": "redirect_uri_mismatch" }

Я создал идентификатор клиента в консоли Google для разработчиков. Я использовал тип «Установленное приложение». Я также попытался: REQUEST_URI = @: // локальный: 8081 REQUEST_URI = @: // локальный: 8081/

(@ означает HTTP я редактировал на моем телефоне, так что я не мог вставить блок кода для. http) Но это не сработало.

Что случилось с запросом?

+0

'redirect_uri = urn: ietf: wg: oauth: 2.0: oob' - что должно представлять это значение? Обычно вы указываете URL-адрес HTTP (S) для этого параметра, который клиент перенаправляет обратно после того, как пользователь прошел аутентификацию с поставщиком OAuth ... – CBroe

+0

вы отправляете его как сообщение HTTP, а не HTTP. http://www.daimto.com/google-3-legged-oauth2-flow/ – DaImTo

+0

Я также пробовал redirect_uri = http: // localhost: 8081 /. И я попросил сервер google с GET, и у меня есть код, и теперь я пытаюсь обменять этот код на доступ к токену. Этот запрос должен быть POST. – Gippeumi

ответ

0

Проверить эти 2 шага ниже

  1. Перенаправление Uri для получения аутентификации кода и маркер доступа должен быть таким же
  2. Используйте тот же редирект URI, который вы настроили при создании приложения, скриншот ниже

enter image description here

Смежные вопросы