Google OpenID + вход в гибридный режим Oauth с внутренним обратным URL - OAuth не работает - PullRequest
3 голосов
/ 16 августа 2011

Я пытаюсь заставить Google OpenID / OAuth Hybrid войти в систему работать. Проблема в том, что это веб-сайт, который можно установить все (поэтому нет фиксированного домена), и я также пытаюсь заставить его работать на моей машине для разработки - поэтому URL-адрес возврата похож на http://localhost:8000/test/index.php.

Я использовал код из их демонстрации , но хотя OpenID возвращается нормально, часть OAuth полностью игнорируется Google (поэтому я получаю You are not authenticated). Я подозреваю, что это из-за того, что параметры OpenID не совпадают с ключами потребителей, но я не знаю, как заставить это работать. Я пытался использовать анонимный / анонимный как ключи OAuth, он не дает желаемого эффекта. Любые идеи, что можно сделать, чтобы он работал в гибридном режиме с моей установкой?

1 Ответ

1 голос
/ 24 июля 2012

Наши сведения о соединении API находятся в конфигурации, например, clientId, emailAddress, redirectUris хранятся в файле XML. У нас есть несколько наборов настроек, например один для разработчиков и один для прод. Каждая среда знает, какую использовать. Мы используем Grails, поэтому, когда Grails запускается, он выбирает контекст dev и мы используем конфигурацию dev.

Теперь, чтобы redirectUri указывал на localhost, чтобы вы могли работать на своем локальном компьютере, войдите в консоль API Google (https://code.google.com/apis/console/), добавьте еще один «Идентификатор клиента для веб-приложений» и установите URI перенаправления для вашего локального хоста. Теперь у вас должно быть два идентификатора клиента, один для dev и один для prod. Вставьте эти настройки в конфигурационный файл только для dev, и все готово.

...