wsgiauthでopenid
wsgiauthはopenid認証にも対応してます。
そのまま使おうとしても足りないものがいくつか。
- python-openid
- python-urljr
- python-yadis
以上のモジュールが必要。
pypiに登録されてるのでeasy_installですぐ入れられます。
簡単な使い方
from wsgiauth.openID import openid @openid("/Users/aodag/openidstore") def app(environment, start_response): start_response("200 OK", [("Content-type", "text/html")]) return ["Hello, %s!" % environment["REMOTE_USER"]] port = 8000 httpd = make_server('', port, app) httpd.serve_forever()
openidの引数には、ディレクトリを指定します。
このディレクトリは、openidの認証内容やなんか一時的な情報とか置くらしいです。
で、実行して、アクセスすると、非常に簡素な入力フォームが出てくるので、自分のopenidを入れると、openidサーバーにリダイレクトされます。
そして、認証許可すると、wsgiアプリに戻ってきます。
認証したユーザーの情報はREMOTE_USERで取得できます。