2005年05月27日
mbox_sha1sumからSNSコミュニティ等の所属認証をする方法
「FOAFだけで友人認証する方法」の続きですが、FOAFでの認証は、基本的に
- mbox_sha1sumをBookmarkletなんかで認証先サイトに渡し、FOAFで個人サイト逆引きさせる
- 単なる個人の信用認証?だけでなく、FOAFに書かれているか否かで記事公開側が主体的に公開範囲を設定できる
(OpenID認証サイトを個人で立てるか、よそのASPを使うかは別として)
この辺、まかまかさんと、あちらの記事とコメントでいろいろ議論してます。
で、別の方面で考えを進めたんだけど、コンテンツの公開範囲って、FOAFで示された友達?或いは友達の友達、までに公開できればそれでよし、というもんでもない気がします。
一般的なSNSのような機能を実現しようとすると、お互いはいくらFOAFを辿っても知り合いじゃないけど、同じSNSの同じコミュニティに属している、という人に対しても、記事を公開したい、という要望もあると思います。
この場合、友人、友人の友人、には、FOAFがあるのでmbox_sha1sum→個人サイトの逆引きができて、そこからOpenIDの認証が出来るわけですけども、SNSコミュニティ所属ユーザなんかは、逆引きができないので認証手順に入れない。
で、どうしたらいいか考えてみたんですけど。
※今日は余裕がないのでシーケンス図なしで、後で時間があれば追加します。
考えてみれば、一人の人がそんなにたくさんのSNSに入る事って、ないですよね。
せいぜい2桁のオーダまででしょう。
さらに各コンテンツの公開範囲を設定するとなると、そのコンテンツの公開/非公開に関わるSNS数は、さらに絞られる事になります。
Mixiの○○コミュニティに入っている人だけに公開する記事を認証するのに、訪問者がGREEに入っているかどうかをチェックする必要はないですから。
それなら...数が限られているんなら、ユーザが公開認証を要求してきた時に、公開範囲を含んでいるSNSのサーバに、「このmbox_sha1sumを持つユーザが、おたくの○○コミュニティに所属してますかー」の問い合わせを、非同期で流しちゃえばいいんじゃないかと。
SNSサーバ側は、含まれてなければ「そんな人いないですよ」、含まれていれば「参加者ですよ。その人の個人Webはhttp://....です」と返答してあげれば、後は個人WebURLが取れたのでFOAFのときと同様OpenID認証に移る、という話になる。
このSNSサーバへの問い合わせ自体を無認証でやっちゃうと、無条件にmbox_sha1sumから個人Webが取れる個人情報垂れ流しサービスになってしまうので、その辺は、記事の公開範囲を定めた段階で、WebサーバとSNSサーバの間で
- Webサーバ:「おたくの○○コミュニティに参加しているものですが、この度そのコミュニティに属してるかどうかで記事の配信認証をさせていただきたく思っておりますので、あんじょうよろしゅうおたの申します」
- SNSサーバ:「判りました。ほな、その時の問い合わせはこの暗号鍵で暗号化しとくんなまし。そしたら許可されたお人からの問い合わせやなー、いうて判りますんで、こっちも対応させてもらいますさかい」
ちょっと裏でのやり取り多すぎて負荷だらけになってしまいそうですが...。
[composed and posted with ecto]
Excerpt: FOAF認証、OpenIDで色々思ったことやら何やら……
Weblog: どんぞこ日誌
Tracked: 2005年05月30日 23:41
mod_rewriteでハマってました(挨拶
http://hiratch.net/test_a/a.html
http://hiratch.net/test_a/login.cgi
http://hiratch.net/test_b/b.html
http://hiratch.net/test_b/login.cgi
でFOAF認証のテストやってます。loginはテスト用なのでパスワード無しです。
プロトタイプなんで、いくつか変な動作する(ゲストになると、ログインするか
セッション切れるまでゲストのままとか)部分がありますが、ログイン後は
クッキーのみで、意識することなく認証を受けられます。
テストではやってませんが、いわゆる「友達の友達」も扱えるようになってます。
FOAFのデータは、各ディレクトリの下のfoaf.rdfにあります。
Content-Typeが変ですが、プロトタイプということで。
aにログインするとaの友達ページもログインページも見られます。
それは当然判るのですが、bの友達ページが見られません...。
というかある意味当然で、bのページでも明示的にmbox_sha1sumなりを与えてサーバ間認証しないと見えなくて当たり前だとは思うのですが、その方法がよく判りません...。
aでログインする前にb.htmlを見てるんじゃないでしょうか。
現在はプロトタイプなんで、ゲストログインすると友達間のリンクをたどっても
ゲストのセッションが残ってると、友達モードに入ることができません。
一度、セッションを切って(ブラウザを終了して)b.htmlを見ずにa.htmlからb.html
へリンクを辿れば、友達モードに入ることができるはずです。
http://hiratch.net/blog/ でblog始めました。で、上のFOAF認証の解説をやってみました。
近いうちにソースも出します。
![[ここギコ!]](http://kokogiko.net/logo.png)



・国連人権委、アイヌ・琉球文化の保護を日本に勧告(ほるほる)
・3Dどきゅめんと…って何?点字文書?(building2008)
・3Dどきゅめんと…って何?点字文書?(building2008)
・Vodafone 3GのUserAgent問題:その後(Igroktectonick)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(okumula)
・人員がクラスタ化できている職場と言うのはうらやましい そろそろ限界です(「ま」のつく人)
・もうAmazonクレジットカードは使いません...楽天カード一本で。(名無し)
・ジオメディア忘年会 新年会から始まり東京1、2、関西と続いたジオメディア2008の締めくくり(ぴかぴか)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(kokogiko)