2011-01-10 5 views
8

Я создал очень маленькое веб-приложение, используя Flask. Теперь я хотел бы добавить очень базовую аутентификацию на сайт (мне не нужна авторизация). Поскольку Flask не поддерживает auth & auth из коробки, я хотел бы подключить промежуточное программное обеспечение WSGI, выполняя эту работу. Веб-приложение используется только примерно 10 людьми, все они находятся на Facebook. Поэтому я хотел бы использовать интерфейс OAuth от Facebook.WSGI Middleware для аутентификации OAuth

Я быстро просмотрел the wsgi.org list of WSGI Middleware и заметил две вещи: доступное промежуточное программное обеспечение либо довольно сложно использовать, либо оно уже очень устарело.

Я нашел следующие пакеты:

  • wsgiauth - Это датированы. Последнее обновление 2006 года, и я не могу найти интернет-документы
  • authkit - Кажется, очень хорошо, но не поддерживает OAuth
  • barrel - Кажется, только поддержка BASIC и Форма AUTH на основе. Это также немного устаревшей (последний релиз 2008)
  • webmodules - только поддерживает BASIC аутентификации

Учитывая этот список, я бы сказал, что AuthKit является наиболее интересным. Увы, он не поддерживает OAuth. Я, скорее всего, продолжу и сделаю это. Но, в то время как я рисуя вокруг, мне интересно посмотреть, есть ли кто-нибудь вокруг, кто имеет лучшее решение валяется ...

+2

Не проу при аутентификации, но имеет промежуточное ПО, предполагающее, что использование его будет уязвимостью безопасности или что промежуточное ПО достаточно зрелое/полное? – Wilduck

ответ

5

Вы должны взглянуть на repoze.who, что основу проверки подлинности для приложения WSGI с помощью плагинов, доступных для:

  • HTTP основной/переваривать
  • Auth с помощью HTML-форм с хранением аутентификации билет в печенье.
  • OpenID
  • OAuth
  • LDAP
  • Много больше я не знаю ...
+0

В выходные я дал repoze.who a go. Это выглядит очень многообещающе. К сожалению, плагин OAuth предлагает только серверную сторону OAuth *. Для моего проекта мне нужна клиентская сторона. Я думаю о создании плагина самостоятельно. Но, учитывая скорость, с которой я работаю над своими любимыми проектами, это может занять некоторое время;) – exhuma

2

Если вы хотите, чтобы разрешить клиентам против Facebook, почему бы не использовать питона SDK они обеспечивают который включает в себя интерфейс oauth, найденный здесь https://github.com/facebook/python-sdk.

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