作者にはてなポイントを送るとページが閲覧できるようになる仕組み「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は少し待ってね。