2005年05月27日

mbox_sha1sumからSNSコミュニティ等の所属認証をする方法

Posted by nene2001 at 05:46 / Tag(Edit): / 4 Comments: Post / View / 1 TrackBack このエントリーを含むはてなブックマーク

FOAFだけで友人認証する方法」の続きですが、FOAFでの認証は、基本的に

  • mbox_sha1sumをBookmarkletなんかで認証先サイトに渡し、FOAFで個人サイト逆引きさせる
  • 単なる個人の信用認証?だけでなく、FOAFに書かれているか否かで記事公開側が主体的に公開範囲を設定できる
あたりが新しい?だけで、「個人を認証」する事においては、べんじゃみん・とろっとをはじめとしたエロイ人達が一杯集まって日々議論しているOpenIDに敵うはずがないので、個人サイトを取得した後の認証手順はOpenIDを使えばいいかなと今のところ思っています。
(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サーバ:「判りました。ほな、その時の問い合わせはこの暗号鍵で暗号化しとくんなまし。そしたら許可されたお人からの問い合わせやなー、いうて判りますんで、こっちも対応させてもらいますさかい」
みたいな会話をさせて、得た暗号鍵でmbox_sha1sum→個人サイトの逆引きをさせてやればよいかなと。

ちょっと裏でのやり取り多すぎて負荷だらけになってしまいそうですが...。

[composed and posted with ecto]

Related query words in Google & Yahoo
Related Books from Amazon
Trackback to this entry
TrackBack URL :
Trackbacks
[メモ] FOAF認証、OpenID
Excerpt: FOAF認証、OpenIDで色々思ったことやら何やら……
Weblog: どんぞこ日誌
Tracked: 2005年05月30日 23:41
Comments

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が変ですが、プロトタイプということで。

Posted by: ひらっち at 2005年05月28日 03:36

aにログインするとaの友達ページもログインページも見られます。
それは当然判るのですが、bの友達ページが見られません...。
というかある意味当然で、bのページでも明示的にmbox_sha1sumなりを与えてサーバ間認証しないと見えなくて当たり前だとは思うのですが、その方法がよく判りません...。

Posted by: ねね at 2005年05月28日 11:23

aでログインする前にb.htmlを見てるんじゃないでしょうか。
現在はプロトタイプなんで、ゲストログインすると友達間のリンクをたどっても
ゲストのセッションが残ってると、友達モードに入ることができません。
一度、セッションを切って(ブラウザを終了して)b.htmlを見ずにa.htmlからb.html
へリンクを辿れば、友達モードに入ることができるはずです。

Posted by: ひらっち at 2005年05月28日 19:13

http://hiratch.net/blog/ でblog始めました。で、上のFOAF認証の解説をやってみました。
近いうちにソースも出します。

Posted by: ひらっち at 2005年05月29日 07:06
Post a comment












Remember personal info? 
2005年05月
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

About Me

Navigation

Search
Google
Web
kokogiko.net
Archives
Recent Entries
Recent Comments
Recent Trackbacks
Generic Viagra(Generic Viagra)
Update Pingを受け付けるサーバの実装
Adobe もクラウドをはじめた!各社のクラウドサービスの特徴は?(ラボブログ)
Amazon EC2のランニングコストはそんなに安くなかった
「ここギコ!」の人が涙も出ないような状況になっていることについて(僕だけが幸せになればいいのに。)
人員がクラスタ化できている職場と言うのはうらやましい そろそろ限界です
GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(ここギコ!)
GoogleMapsと連動したいなら幾何データ型よりPostGIS
GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(ここギコ!)
「ジオメディアサミット関西」が開催されます。
GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(ここギコ!)
MySQL4.1以降での空間情報の扱い方
なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(ここギコ!)
「冷静に」「熱く」「マジ反論」でこの内容はある意味すごい
「亡びつつある日本の言語」と「日本語」、そして「普遍語」につらつら思うこと(ここギコ!)
国連人権委、アイヌ・琉球文化の保護を日本に勧告
「亡びつつある日本の言語」と「日本語」、そして「普遍語」につらつら思うこと(ここギコ!)
政治と祭祀が不可分と考えるなら、全ての祭祀を引き受けるのが筋
「亡びつつある日本の言語」と「日本語」、そして「普遍語」につらつら思うこと(ここギコ!)
Googleさんの技術でアイヌ語訳ができないだろうか
Hatena bookmarked
My del.icio.us

Banners

Syndication
Powered by
Get it!!