2006年02月27日

WEISpub - WEIS Enabler for MovableType

 プロトコルの仕様だけ書いておいて実装がないのもどうかと思うので、サンプルを作ってみました。

続きを読む "WEISpub - WEIS Enabler for MovableType"

投稿者 kazuho : 2006年02月27日 17:08 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2006年02月24日

Web Identity Syndication (WEIS)

 「2006年は認証APIの年」らしいので、ラボで暖めていた仕様を公開したいと思います。

続きを読む "Web Identity Syndication (WEIS)"

投稿者 kazuho : 2006年02月24日 12:25 | トラックバック (3) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

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) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク