Amazonでは2009年08月15日から署名認証をつけたリクエスト以外はAmazon Product Advertising API(旧アソシエイトWebサービス)が使えなくなる。秘密鍵を含んだ形で署名を行うので、ソースコードが開示されたオープンソース・ソフトウェアでは使いづらくなってしまうのが問題だ。

ピクチャ 1.png

ダイジェスト認証を生成してくれる

 

パスワードや認証を必要とするものの場合、ソースコードが公開されているのは利用しづらくなるのが問題だ。そこで使いたいのがAmazon Auth Proxyだ。

今回紹介するオープンソース・ソフトウェアはAmazon Auth Proxy、秘密鍵を含まないで使えるようにするAmazon Product Advertising APIだ。

Amazon Auth ProxyはRubyで作られたソフトウェアで、Amazon Product Advertising APIへの接続をプロキシする。Amazon Auth Proxyでは秘密鍵を設定しているので、アクセス元では秘密鍵を指定する必要はない。隠蔽できるのが魅力だ。

パラメータもそのまま反映されるので、Amazon Auth Proxyを使えばURLさえ変更すれば既存の仕組みをそのまま利用できる。後は動作させるRuby CGIが動作するWebサーバを用意すれば良いだけだ。

HTTPベースでのアクセスになるので、URLがばれるとAPIの不正利用につながる可能性があるかも知れないのでご注意いただきたい。とは言え、Amazon Auth Proxyが普及すればAmazon Product Advertising APIの対策が無効化される可能性もある。その意味でも興味深い実装と言えそうだ。

 

tdtds’s amazon-auth-proxy at master - GitHub

 http://github.com/tdtds/amazon-auth-proxy/tree/master