« 2005年10月 | メイン | 2006年01月 »

2005年12月27日

サイボウズ Office に Perl でアクセス

 ここのところ、Perl Monger な同僚に、いろいろ教えてもらいながら、 Perl の勉強をしています。
 
 手始めに、サイボウズ Office 6 のスクレイピングをするモジュールを書いてみました。といっても、新着情報をしかダウンロードできませんが... orz

続きを読む "サイボウズ Office に Perl でアクセス"

投稿者 kazuho : 2005年12月27日 17:11 | コメント (3) | トラックバック (2) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2005年12月14日

Live HTTP Headers で Firefox の裏技を解析する

 同僚の秋元さんがブログで、

同じく Firefox で、 "https://http//www.anydomain.com" と入れるとマイクロソフトへ飛ぶ。

OpenOffice と Firefox の裏技 (秋元@サイボウズ研究所プログラマーBlog)

と書いています。なぜそうなるのか、気になったので調べてみました。

続きを読む "Live HTTP Headers で Firefox の裏技を解析する"

投稿者 kazuho : 2005年12月14日 12:15 | コメント (1) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2005年12月13日

安全なリダイレクタ

 リダイレクタの存在は脆弱性か? (高木浩光@自宅の日記) 等で、リダイレクタが脆弱性かどうか、というのが話題になっていました。

 個人的には、脆弱性かどうかはともかく、不要なリスクを回避するためにも、サービス事業者は自社のリダイレクタに何らかの制限機構を入れるべきだと思います。
 その技術的な実現方法についてですが、必ずしもデータベース等を用意する必要はありません。一番楽なのは、メッセージ認証コード (MAC) を使う方法だと思います。

続きを読む "安全なリダイレクタ"

投稿者 kazuho : 2005年12月13日 16:05 | コメント (2) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2005年12月09日

フィードビジネス・カンファレンス リンク集

 昨日12月8日に行われた、フィードビジネスカンファレンス (FBS) のリンクをまとめておきたいと思います。

続きを読む "フィードビジネス・カンファレンス リンク集"

投稿者 kazuho : 2005年12月09日 12:16 | コメント (2) | トラックバック (2) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2005年12月08日

RSS Feed と認証

 本日 (12月8日) フィードビジネス・カンファレンス (FBS カンファレンス) で RSS Feed の拡張について話しました(資料は後ほどカンファレンスのページで公開されると思います)。カンファレンスでは Podcasting を始めとするさまざまな RSS の拡張を紹介したのですが、本エントリでは、その中で説明した RSS Personalization について書きたいと思います。

I. 背景

 RSS は今日、現在ブログやニュースといった、主に公開情報を配信するために使われています。しかし今後は、Eコマースや社内ソフトウェア、SNS といった認証やパーソナライゼーションが必要な分野でも使われていくだろうと考えられます。
 現時点でも Basic 認証を使用した RSS 配信は行われていますが、ウェブ型 RSS リーダーに他のサービスのパスワードを教えるのは問題があります (hail2u.net - bloglines 経由でパスワードが流出した例)。
 このような状況に対処するために、 RSS 配信等、特定サービス専用の認証キーを、ウェブサービスとウェブ型 RSS リーダーを始めとする mash up サービス間で交換できる仕組みが求められているのではないでしょうか (cf. blog.bulknews.net - Authentication/Identity for Mashups)

II. 仕様

 さまざまな方法が考えられますが、以下の方式が、移行の障壁が低くてよいのではないでしょうか。
 基本的な発想としては、401 レスポンスにトークン発行ページの URL を含め、リソースのコンシューマーは、その URL に対して HTTP リダイレクトでトークンを要求するというものです。

1) feeder (RSS 配信者) は Basic 認証 注1 を使用して RSS を配信する

2) feeder は 401 レスポンス (認証失敗) を返す際に、 X-Auth-Transfer ヘッダを付与する

GET /rss HTTP/1.0
Host: feeder.example.com

HTTP/1.0 401 Authorization Required
WWW-Authenticate: basic realm="rss"
X-Auth-Transfer: basic http://feeder.example.com/authme

3) reader (RSS 受信者) は、X-Auth-Transfer ヘッダを含む 401 レスポンスを受け取ると、ヘッダの URL へリダイレクトする

http://feeder.example.com/authme?return=http://reader.example.jp/addfeed&arg=XXXXXXXX

	return	- 認証情報の返信先 URL
	arg	- feeder に返信してほしい任意の値 注2

4) feeder は、ログインフォームやクッキー等を用いてユーザー確認を行う

5) feeder は、認証に成功すると、RSS 配信専用のパスワードを生成して reader が指定した URL へリダイレクトする

http://reader.example.jp/addfeed?arg=XXXXXXXX&user=hoge&pass=foo

	arg	- reader から渡された arg の値
	user	- RSS 受信に使用する User ID
	pass	- RSS 受信に使用するパスワード 注3

6) reader は、以後、feeder から受け取った認証情報でアクセスする
GET /rss HTTP/1.0
Host: feeder.example.com
Authorization: Basic base64('hoge:foo')

HTTP/1.0 200 OK
Content-Type: application/rss+xml

III. 今後

 今日は、サイボウズ Office の新着情報を RSS リーダーに配信するデモをさせていただきましたが、今後、サンプルアプリケーションやライブラリ等を公開していければと思います。
 ご意見をお伺いできればと思います。

注1: WSSE 認証でも OK
注2: 識別子を埋め込んだり、あるいは、作業対象の Feed URL をそのまま埋め込んだりすればいいかと
注3: reader のホスト名ごとに異なるパスワードを返し、必要に応じて revoke できるようにするといいかも

投稿者 kazuho : 2005年12月08日 15:37 | トラックバック (6) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク