2013-12-05 2 views
1

Во-первых, просто сообщив, что я искал здесь честный бит, и я знаю некоторые другие вопросы по этой теме, но никто не отвечает на мой вопрос.GAE Launcher принудительно вставляет учетную запись Google в app.yaml

Аутентификация локального GAE отличается от развертывания appspot, и мне это нужно не с минимальным кодом обхода.

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

мне нужны детали учетной записи Google вошедшего в систему пользователя в приложении я пишу (для API вызовы календарь и контакты, например)

, и я предпочел бы не должны написать обработчик входа только для моей локальной платформы разработки - автоматизирован для простоты или иначе.

Я читал, что добавление логина: требуется принудительное подключение, а на appspot это работает отлично. Локально он ничего не делает.

Я читал, что вы можете написать декоратор Python для использования @login_required - но я не пишу в Python (это php, создающий страницу HTML5). Я мог бы написать немного обертки PHP для ее обработки или автоматизировать вызов в Javascript при загрузке страницы - но это обходной путь, который я не хочу писать, потому что он обрабатывается в рабочей среде для меня.

Я хочу логин: требуется вариант, как все обрабатывается для меня в производства

. У меня есть googled варианты для тега входа, и ничто там не предлагает, что я могу заставить логин google в локально запущенном приложении. У меня есть googled the launcher и настройки, но ничего не кажется очевидным.

Я полагаю, что я мог бы жить с обходным решением dev, и приложение могло бы предположить, что я аутентифицирован, а обработчики запросов JSON в моем приложении будут просто использовать логин: требуется, чтобы правильные токены Google передавались после проверки подлинности.

Есть ли у меня другие возможности?

ответ

0

Похоже, что этого не существует, кроме как написать весь обработчик OAuth (или получить один elsew здесь) - значительный избыток для среды разработки только «проблема».

Я написал приложение, чтобы обрабатывать данные профиля google по мере его запуска и принудительно аутентифицировать, если они отсутствуют.

Это означает, что логин: требуется, будет работать как ожидается в мире производства и заставит вас пройти аутентификацию в google, прежде чем вы даже попадете в приложение ... тогда приложение просто получает детали профиля, потому что токены уже присутствуют ,

login: требуется в среде Dev только для того, чтобы установить экран, который вы просто «хорошо», а затем приложение пытается получить детали профиля, но заставляет само аутентификацию, потому что нет токенов аутентификации.

Это неудачно, но это один шаг в разработке, который пользователям не придется использовать, но он работает.

0

Похоже, что это может быть ошибка выполнения PHP. login: требуется хорошо работает на локальном сервере-разработчике python. Вы проверили страницу проблем, чтобы узнать, сообщили ли они об этом?

https://code.google.com/p/googleappengine/issues/list

В противном случае, возможно, что это в обход входа на вашем Dev сервере, потому что у вас есть некоторые куки в вашем браузере указывает, что вы уже вошли в систему. Вы можете попробовать клиринговые печенье

В качестве альтернативы (в по крайней мере, на python devserver), вы можете перейти на свою страницу входа через http://localhost:8000/_ah/login, чтобы принудительно выйти из системы (очевидно, исправить имя хоста и номер порта)

+0

Учетная запись работает на обоих, они просто работают по-другому. Я предполагаю, что это характер экспериментальной поддержки PHP. http: // localhost: 8000/_ah/login не приводит меня к проверке подлинности в Google, он показывает тот же самый ящик для входа, который показывает голые приложения (с кнопкой выхода) –

+0

Я не совсем понимаю, что вы просите , Итак, вы видите окно входа/выхода на сервер dev, а не то же самое, что и при производстве? Так оно и было разработано. Сервер dev просто имитирует процесс входа в систему, чтобы вы могли узнать, вошел ли данный пользователь в систему, но он не разговаривает с производственными серверами или не аутентифицируется. Там определенно нет способа, чтобы это произошло. На сервере-разработчике, чтобы на самом деле войти в систему, было бы более неприятно, когда вы будете работать dev. – dragonx

+0

Вы можете реализовать логин OAuth на реальных серверах, но это будет намного сложнее, чем установка входа в систему: требуется в вашем приложении app.yaml, и вам также понадобится статический IP-адрес/доменное имя для вашего сервера dev. – dragonx

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