Webapp2 для аутентификации и входа в систему
Я хотел бы запустить мою собственную систему входа для моего приложения Python для Google App Engine (вместо использования api.
Я использую webapp2, и я заметил, что есть модуль webapp2_extras.auth и неполный учебник по auth.
Кто-нибудь знает, как я могу использовать этот API для создания:
- Регистрация пользователя (введите адрес электронной почты и пароль и, возможно, проверьте электронную почту)
- Вход пользователя пользователя с электронной почтой и паролем
Как только у меня есть адрес электронной почты и пароль, где я его храню? В AuthStore?
И как мне аутентифицироваться на AuthStore?
Ответы
Ответ 1
Как и где вы храните учетные данные пользователя и информацию полностью зависит от вас; модуль webapp2, на который вы ссылаетесь, просто обеспечивает интерфейс, который вы должны соблюдать, если вы хотите использовать его функции. Очевидным (возможно, единственным разумным) выбором было бы хранилище данных.
Я бы настоятельно рекомендовал использовать встроенную поддержку OpenID, вместо того, чтобы сворачивать ваши собственные. Поступая таким образом, вы заставляете пользователей создавать еще одно имя пользователя и пароль, и вы берете на себя весь набор паролей и проблем безопасности для себя.
Ответ 2
Новый ответ на старый вопрос: любой, кто хочет добавить собственную аутентификацию и логин в webapp2 в Google App Engine, должен рассмотреть Boilerplate Google App Engine.
Регистрация, вход в систему, выход из системы, пароль reset, федеративный вход (Google, Twitter, Facebook и т.д.), профили пользователей и т.д. реализованы.
Используемые технологии включают в себя: Python 2.7, NDB, Jinja2, WTForms, unittest, webtest, pyquery, OpenID (Google App Engine) и OAuth2 (для федеративных провайдеров входа, которые не поддерживают OpenID).
Демо онлайн здесь.