心魅 - cocoromi -

半角スペース時々全角

opensocial-jqueryでリクエストをsigned requestにする方法

URLの後ろにsignedって付ける。
簡単。涙がでる。
参考文献:AjaxOAuth -
opensocial-jquery -

jQuery.ajax のリクエストに署名できます。jQuery.get や jQuery.post などのショートカットでもリクエストに署名できます。 -
OpenSocial jQuery is jQuery based concise JavaScript Library for rapid OpenSocial Apps development. - Google Project Hosting


送られてきたsignedリクエストが妥当であれば、少なくともいくつかのパラメータが改ざんされてないことが保証される。
と、俺は信じている。


これにより他人のユーザIDを指定して、データを盗んだり出来なくなる。

実際に使ったところ

※ここに出てくるJavascriptはかなり微妙です。まねしないように。(勝手にcmdとかいう属性作っちゃったりしてるところが。

クリックしたらデータ取ってきて、表示
コードを見て判るとおり、JSは至って普通のjQuery.getなんですが、
URLの末尾に空白を入れてsignedと付けると、ライブラリ側で空気を読んでくれます。


html

<a cmd="load_history" href="http://hogehoge/mogemoge/ signed" target="#history">load histry</a>
<div id="history"></div>


javascript

 43         load_history : function ( event ){
 44             event.preventDefault();
 45             var t = $( event.target );
 46             $.get( t.attr( "href" ) , function ( data ){
 47                 data = eval( "(" + data + ")" ) ;
 48
 49                 $( $(t).attr("target") + " tr.account" ).render( { account : data } );
 50             } , "json" );
 51         }

まとめ

opensocial-jqueryでsignedリクエストをしたいときはsignedをURLに付け足す。
男はだまって + " signed"