Почему Google App Engine добавляет путь к моему местоположению "продолжить" при входе в систему? - PullRequest
7 голосов
/ 05 марта 2011

Я использую очень простой экземпляр GAE из скрипта Greasemonkey. В последние месяцы это работало нормально, но теперь к последнему местоположению 'continue' добавлен путь, который нарушает процесс входа в систему для меня.

Основной рабочий процесс, при условии, что пользователь вошел в свою учетную запись Google, но время его токена для экземпляра GAE истекло:

  1. Пользователь открывает страницу A с установленным сценарием GM.
  2. Сценарий GM запускается и пытается получить доступ к экземпляру GAE с помощью GM_xmlhttpRequest ().
  3. Экземпляр GAE возвращает "login_needed | ". Сценарий GM извлекает логин и устанавливает на него window.location.
  4. Пользователь перенаправляется на loginurl и в конечном итоге возвращается на A. Однако на этот раз GM_xmlhttpRequest () возвращает фактические данные.

Последний шаг больше не работает, так как пользователь теперь перенаправлен на логин плюс немного , что дает 404 на целевом сайте.

Код GAE - это примерно половина экрана. Соответствующий код аутентификации:

if not users.get_current_user():
    self.response.headers['Content-Type'] = 'text/plain'
    self.response.out.write('login_needed|'+users.create_login_url(self.request.get('uri')))

Последовательность запросов следующая, все из-за перенаправлений:

targetite.com не нравится этот путь, и, как вы можете видеть, его не было в начальном аргументе 'continue', переданном appengine.google.com, который был просто https://targetsite.com/". Что я сделал неправильно как я могу это исправить?

Ответы [ 2 ]

3 голосов
/ 08 марта 2011

Недавнее изменение в нашем потоке входа в систему для App Engine создало проблему, из-за которой вход в систему с URL-адресом продолжения, который находится за пределами собственного домена приложения, приведет к ошибочному перенаправлению, такому как вы наблюдаете.* Мы работаем над исправлением этого.Тем временем, обходной путь должен установить обработчик перенаправления в вашем собственном приложении.Сделайте это целевым параметром continue, и пусть он отправит окончательный редирект на вашу фактическую цель.

0 голосов
/ 22 января 2013

Это перенаправление вызвано просроченным токеном авторизации.Чтобы он снова заработал, вам нужно аннулировать токен на клиенте, как описано здесь: Какой правильный URL-адрес для получения Auth Cookie из приложения на основе GAE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...