Цикл перенаправления для входа в учетную запись Google с SSL для пользовательского домена в Google App Engine

Я настроил SSL (VIP) для пользовательского домена в приложении Google App Engine ( https://www.gqueues.com/).

Все отлично работает для большинства моих пользователей. Для пользователей, которые входят в свои учетные записи Google Apps (которые используют OpenId), проблем не возникает. Большинство пользователей, которые входят в систему с помощью своих учетных записей Google, также не имеют никаких проблем.

ОДНАКО, несколько пользователей аккаунта Google получают ошибку цикла перенаправления.

(ERR_TOO_MANY_REDIRECTS), как на изображении ниже, когда они пытаются войти в систему.

redirectLoop

Это код, который я использую для создания URL логина. Он работал хорошо в течение последних 3 лет, и единственное, что изменилось, это то, что теперь он переходит к https вместо http:

loginURL = users.create_login_url("https://www.gqueues.com/main")

На главной странице необходимо войти в систему:

@login_required
def get(self):

Я не могу воспроизвести цикл перенаправления ни с одной из моих тестовых учетных записей или машин. Тем не менее, один из моих пользователей сообщил, что между этими двумя адресами, кажется, происходит петля:

https://appengine.google.com/_ah/loginform?state=xxxxxxxxxxx
https://www.gqueues.com/_ah/conflogin?state=xxxxxxxxxxxxxx

В некоторых других публикациях SO о циклах перенаправления люди предполагают, что некоторые из этих страниц авторизации кэшируются, но я проверил, и все они используют редирект 302, который не кэшируется.

Imgur

Кроме того, я заставил пользователей с этой проблемой очистить кеш браузера и файлы cookie и убедиться, что они НЕ блокируют сторонние файлы cookie, но ничего из этого не помогает. Проблема возникает в различных браузерах и операционных системах, поэтому я не думаю, что это относится к конкретной настройке.

Единственное, что работает, - это чтобы пользователи с проблемой имели доступ к моему приложению по адресу appspot: https://gqueues-hrd.appspot.com/

Это, конечно, не совсем решение. Причина, по которой я трачу тысячи долларов на SSL-сертификат и VIP на GAE, заключается в том, что все, что видит пользователь, находится на моем настраиваемом домене (и поэтому я использую свой собственный сертификат, а не какой-то общий от Google).

Кто-нибудь (особенно из команды App Engine) имеет представление о том, что происходит? Похоже, проблема заключается в коде входа в учетную запись Google, реализованном в App Engine, или, возможно, в новом коде SSL для пользовательских доменов.

Большое спасибо,

Cameron

1 ответ

Решение

Мы думаем, что определили проблему на стороне App Engine, и работаем над ее исправлением. Спасибо!

Другие вопросы по тегам