« シェルスクリプトで標準入力をパイプ経由でのみ受け付ける | メイン | WindowsとVMWare開発においてpbcopy的なやつ »

2012年5月27日

Plack::Middleware::Auth::QueryString

http://search.cpan.org/~songmu/Plack-Middleware-Auth-QueryString-0.01/

http://example.com/?key=yourpasswordhere 的な認証を提供するミドルウェアです。

当然Publicなサービスでは使いものにならない(使ってはいけない!)ですが、ローカルに通信用のHTTPサーバー立てた時に気分的に適当にちょっとした認証をかけたい時に使うと良いと思います。

基本的な使い方はSYNOPSISにも書いてありますが、passwordのマッチングはスマートマッチを使っているため、Array Referenceやサブルーチンを受け付けることが可能です。

enable "Auth::QueryString", password => [qw/passa passb passc/];
enable "Auth::QueryString", password => sub {
   ...
};

スマートマッチを使っていることから分かるように、perl5.10.0以降でしか動かない適当モジュールです。OAuth2の最後の部分だけを切り出したとも言えます。

実際、スマートマッチはこういう用途にすごく向いているし、そこを狙って仕組みでもあるんだろうけど、正直理解しきれないし、false value絡みで意図せぬ挙動も多いので、配列の存在チェックくらいにしか使わないのが賢明でしょう。

あと、cpantestersでv5.16.0 RC0のテストがこけていて謎い...。

投稿者 Songmu : 2012年5月27日 23:46