JSONPを認証付きのサービスに適用できるか?

最近やっとJSONPの認知度が上がってきたみたい。名前としての初出は去年の12月だから時差にびっくり。日本語でこんな記事も出てるので、用語としては定着したと考えていいだろう。きっとhail2uの人のおかげなんでしょう。

ただ、自分としてはこの段階からもう一歩すすめてみたい。もちろんHTMLとJavaScriptだけでアプリが作れるのは貧者にはうれしいが、サーバ環境が充実している立場の人間であればクロスドメインプロキシでも相当良くって、あまりたいした話ではない。

自分のイメージするもう一歩の次の段階とは、認証付きのサービスに対して、JSONPによるアクセスを可能にさせることだ。

これについてはずっと追ってきたけど、多分英語圏を含めて考えている人は少ないのではないか。むしろどなたかそういうことを考えている人を知っていたら是非教えていただきたい。

例としてあげると、livedoor Reader の中身はJSONAPIになっているけれども(e.g. http://reader.livedoor.com/api/subs?unread=0サブスクリプションの一覧がとれる)これはそれぞれ認証されたユーザごとに異なるデータが返ってくるようになっている。

もしこれがJSONPに対応したら、第3者のアプリケーションサービスが、訪問者がlivedoor Readerに登録しているサイトのリストを知ることが出来るようになる。

一見とても怖いことのように見えるけど、ユーザの同意の仕組みを組み入れた上で、巧く使えば強力かつ軽量なサービスインテグレーション方法になるのではないか。*1

考えてみれば、分散アプリケーション環境において、認証付きのサービスに対して外部からどのようにアクセスさせるかというのは、Webサービスが唱えられ始めた当初から課題としてあった。それに対しては列強によっていろいろ標準規格が策定されたわけだけど、今のところあまり普及してるとは言えない。認証付きサービスへのJSONPによるアクセスはWebサービスの認証問題のすべてを解決できる訳ではないだろうけど、限定された状況下での一つの解であるような気がする。

ちなみに例がRSSリーダーだったのでそんなのOPMLでいいじゃん、ってことになりそうなんだけど、以前オンラインCRMサービスを例にとってこんなエントリを書いた。こちらにはいろいろ詳細を含めているので、興味のある人はご覧ください。

*1:まあこれを逆に言うと、安易なサービスのJSONP化はプライバシーリスクが大きいということではある