2009-06-15 3 views
2

Мне нужно добавить еще несколько параметров для входа и для этого нужно настроить create_login_url с некоторым кодом html. Есть ли способ добавить ваш код в экран входа по умолчанию в Google? ENvironment - движок приложения python-google. Я хочу продолжить использование по умолчанию google ext class Поведение пользователей для подключения к месту.настроить логин в Google App Engine

+0

Невозможно повлиять на страницу самого входа в систему Google, кроме как указать адрес, по которому пользователь будет перенаправлен после входа в систему. Что вы хотите достичь? Вам будет легче помочь вам, если вы расскажете, что именно вы хотите сделать. – Blixt

+0

Я хочу создать логин из нескольких доменов, включая Google, используя что-то вроде rpxnow, но я не хочу нарушать существующий код учетных данных с помощью модуля Google Users – dhaval

ответ

2

Вы не можете настроить страницу входа. Если вы позволите сделать это, это приведет к появлению уязвимостей XSS, а также затруднит пользователям идентификацию легитимной страницы входа в систему.

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

+0

Могу ли я использовать модуль «Пользователи» для другого домена, скажем, Twitter или facebook? – dhaval

1

Вы можете рассмотреть OpenID через любой из проектов с открытым исходным кодом для приложений, таких как this one для Django.

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

Создание собственных страниц входа также не слишком сложно с этими подходами, конечно, поскольку вы начинаете со всех источников с «потребителя OpenID», который вы решили использовать.

Я не знаю, являются ли все домены, которые вы хотите поддерживать, провайдерами OpenID (хотя я не понимаю, почему какой-либо сайт, поддерживающий его собственные логины пользователя , не будет также быть провайдером OpenID - это легко и просто делает его более ценным для пользователей, чтобы иметь логины на этом сайте! -), но я надеюсь, что это займет у вас часть пути к вашей цели!

2

Ник Джонсон недавно выпустил альфа-версию WSGI middleware, которую вы могли бы использовать. API очень похож на стандартный API-интерфейс пользователей в приложении. Это способ поддержки auth через OpenID (то, что предложил Алекс Мартелли в своем answer). Поэтому вы можете поддерживать Google как Identity Provider, так и другие. Если вы только хотите поддерживать учетные записи Google по какой-то причине, вы, безусловно, можете только их белыми списками.

блог Ника announcement также перечисляет некоторые вещи, чтобы рассмотреть (это могут быть сделки выключатели для вас):

  • Пользователи идентифицируются однозначно их OpenID конечной точки.
  • Вы не можете создать объект User без указания URL-адреса OpenID.
  • Псевдонимы и адреса электронной почты предоставляются пользователям, поэтому они не гарантируются уникальными или проверенными.
  • is_current_user_admin() еще не реализован.
  • login: в app.yaml не влияют объекты AEoid - они все еще аутентифицируются с использованием обычного API пользователей.