作者にはてなポイントを送るとページが閲覧できるようになる仕組み「Apach2::AuthzHatenaPoint」を作ってみたよ!

夜中に目が覚めたのでカッとなって作ってみた。けど中途半端だな。
↓下のURLに行って、はてなopenidでログインすると、次の画面で10ポイント支払いを求められます。払うと見えるようになります。なんもないけどね:P
http://lopnor.homeip.net/~danjou/authenopenid/
この前のApache2::AuthenOpenIDと組み合わせて使います。例によってhttpd.confで

LoadModule perl_module modules/mod_perl.so
PerlLoadModule Apache2::AuthenOpenID
PerlLoadModule Apache2::AuthzHatenaPoint

のようにしてモジュールをロードし、↓こんな感じで.htaccessを書きます。.htsentuserdbというところに支払済みユーザーをためるようにしてるので、このファイルにapacheユーザーが読み書きできるようにしてください。

AuthType OpenID
AuthName "Apache2::AuthzHatenaPoint sample"
return_to http://sample.com/path/to/trust_root/callback
trust_root http://sample.com/path/to/trust_root/
consumer_secret "your secret code goes here"
require hatenapoint 10
hatenapoint username your_username
hatenapoint password your_password
hatenapoint after 2008-03-28
hatenapoint sentuserdb /path/to/.htsentuserdb

今んとこ問題はユーザー認証が終わって、そのユーザーの支払いが確認できてないときに毎回はてなのポイント受け取り履歴を叩きにいっちゃうところ。たまにとりにいくような仕組みにしとくべきだろうなぁ。もしくはメールの通知からなんとかするとか。そうしだすとmod_perlだけで完結しないしなぁ、と。
結局何がしたかったかというと、402 Payment Requiredってステータスを返してみたかっただけ、という。

ダウンロードは↓この辺りから。cpanは少し待ってね。