2011-01-10 12 views
8

Ich habe eine sehr kleine Webanwendung mit Flask erstellen. Jetzt möchte ich der Site eine sehr einfache Authentifizierung hinzufügen (ich brauche keine Autorisierung). Da Flask auth & auth out of the box nicht unterstützt, würde ich gerne eine WSGI-Middleware anschließen, die diesen Job erledigt. Die Web-App wird nur von ca. 10 Personen genutzt, alle sind auf Facebook. Daher möchte ich die Facebook-OAuth-Schnittstelle verwenden.WSGI Middleware für OAuth-Authentifizierung

Ich habe schnell durch the wsgi.org list of WSGI Middleware geschaut und zwei Dinge bemerkt: Die verfügbare Middleware ist entweder ziemlich komplex zu verwenden, oder es ist schon sehr veraltet.

Ich habe die folgenden Pakete gefunden:

  • wsgiauth - Es datiert ist. Letztes Update ist 2006 und ich kann keinen Online-docs
  • authkit findet - Scheint sehr schön, aber unterstützt OAuth nicht
  • barrel - scheint nur BASIC zu unterstützen und auf der Grundlage Auth zu bilden. Es ist auch ein bisschen veraltet (neueste Version ist 2008)
  • webmodules - unterstützt nur BASIC Auth

diese Liste gegeben, ich würde sagen, dass AuthKit ist der interessanteste. Leider unterstützt es OAuth nicht. Ich werde höchstwahrscheinlich weitermachen und es versuchen. Aber während ich kritzeln um, ich bin gespannt, ob es jemanden gibt, um die eine bessere Lösung hat rumliegen ...

+2

Kein Profi bei der Authentifizierung, aber eine veraltete Middleware deutet darauf hin, dass die Verwendung einer Sicherheitslücke oder die Middleware eher ausgereift/vollständig ist? – Wilduck

Antwort

5

Sie sollten einen Blick auf repoze.who nehmen, die mit Plug-ins Authentifizierungs-Framework für WSGI Anwendung ist für:

  • HTTP basic/verdauen
  • Auth über HTML-Formulare mit Auth-Ticket in Cookies gespeichert werden.
  • OpenID
  • OAuth
  • LDAP
  • Viel mehr weiß ich nicht ...
+0

Über das Wochenende habe ich repoze.who a go. Es sieht sehr vielversprechend aus. Leider bietet das OAuth-Plugin nur die OAuth * -Server-Seite *. Für mein Projekt würde ich Client-Seite benötigen. Ich denke darüber nach, selbst ein Plugin zu erstellen. Aber angesichts der Geschwindigkeit, mit der ich an meinen Haustierprojekten arbeite, kann das eine Weile dauern;) – exhuma

2

Wenn Sie suchen Kunden gegen Facebook autorisieren, warum nicht die Python-SDK verwenden, die sie bieten das enthält eine oauth-Schnittstelle, die hier gefunden wird https://github.com/facebook/python-sdk.

Verwandte Themen