Настройте логин в Google App Engine - PullRequest
2 голосов
/ 15 июня 2009

Мне нужно добавить еще несколько параметров для входа в систему и, следовательно, необходимо настроить create_login_url с помощью некоторого HTML-кода.

Есть ли способ добавить код на экране входа Google по умолчанию?

Среда: Python (Google App Engine)

Я хочу продолжать использовать поведение пользователей по умолчанию в классе Google Ext.

Ответы [ 3 ]

2 голосов
/ 23 декабря 2009

Ник Джонсон недавно выпустил альфа-версию промежуточного программного обеспечения WSGI , которое вы можете использовать. API очень похож на стандартный API пользователей в движке приложения. Это способ поддержки аутентификации через OpenID (что Алекс Мартелли предложил в своем ответе ). Таким образом, вы можете поддерживать Google в качестве поставщика удостоверений, а также других. Если по какой-то причине вы хотите поддерживать только учетные записи Google, вы, конечно, можете добавить их только в белый список.

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

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

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

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

1 голос
/ 18 июня 2009

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

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

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

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

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