最近メッセやIRC とかで、「コメントSPAM対策はいいとして、TypeKey を導入しないとコメントできないってのは敷居高すぎでは?」とかいう声をよく聞きます。ちょっと誤解をまねいているところもあるようなので、私が FAQ を読んだり、シックスアパートの会見を読んで知る範囲で補足してみます。
TypeKey は MSN の .NET Passport のようなもので、ユーザを認証するだけのために利用されます。ここでいう認証は、Authentication の方で、Authorization ではありません。
ユーザは TypeKey に1度だけ登録すると、そのキーをつかって、TypeKey を導入したMT(あるいはTypeKey に対応した他のBlogシステム)サイトに、自分がたしかにそのユーザであることを通知できます。
TypeKey がやることは、それだけです。
その人がそのBlogでコメント許可されているかどうかは、Blog ごとの設定になります。これはおそらくMT側でハンドルされるのでしょう。MT3.0 のコメンター管理画面 ってのがそれでしょうね。
そして、MT3.0 になったら TypeKey がないとコメントできないのか、というとそうではありません。
With Movable Type 3.0 you have options. You can:Only accept TypeKey-authenticated comments where the commenter sends an email address
Only accept TypeKey-authenticated comments
Accept TypeKey-authenticated and moderated comments
Accept TypeKey-authenticated and regular comments
Accept moderated comments
Accept unmoderated comments
Accept anonymous comments
1. TypeKey で認証されたEmailアドレスつきコメントだけを許可
2. TypeKey で認証されたコメントだけを許可
3. TypeKey で認証されたコメントを許可、それ以外はモデレーション
4. TypeKey で認証されたコメントを許可、それ以外の通常コメントも許可
5. すべてのコメントをモデレーション
6. すべての通常コメントを許可
7. 匿名コメントを許可
というレベルわけがBlogごとに設定できるようです。
モデレートというのは、投稿されたコメントはいきなり Blog に表示はされないでいったんペンディング状態になり、管理画面から「許可/拒否」を選択することではじめてBlogに表示される、という機能ですね。これと TypeKey によるユーザ認証を組み合わせれば、その人のコメントは、以降すべて許可する、ということができるようになります。(これがないと、Email アドレス詐称の可能性があるので、毎回モデレートしなければいけなくなる) これを行う画面も 記者会見で発表されています。
つまり、MT 3.0 ではユーザごとにコメントを許可するかどうかを Blog で設定できる。ただしユーザを詐称されるおそれがあるので、それを助ける認証システムとして TypeKey を提供する。MT 以外でも使いたければ使ってね。というのが Six Apart の方針だと理解しています。これは共感できます。
以下技術的に考察すると、.NET Passport のように、他のシングルサインインサービスをMTから使用するという手段もありそうなのですが、その場合、
ユーザが submit → MT 側で .NET Passport の ID/PW をとる → .NET Passport で勝手に認証
という順番になってしまい、悪意のあるサイトでは .NET Passport のサインイン情報が盗まれてしまいます。(.NET Passport SDK を使ってサイト構築すれば、その問題はなくなりますが、そもそも .NET Passport の利用契約が必要だし、導入も簡単ではないでしょう)
TypeKey ではおそらく、
ユーザが submit → TypeKey へとんで認証 → 認証した結果を MT にリダイレクト
みたいになっているのではないかなー。
TypeKey 対応したコメント投稿画面 を見ると、やはりそのようになっていますね。気になるのは "You are not signed in" の部分ですか。どうやって TypeKey にサインインしてるかを各Blogサイトで把握するんでしょうね。TypeKey の Cookie をBlogサイトにとばすわけにはいかないでしょうし。
TypeKey 動作概念図 を見ると、やはり1回 TypeKey で認証してから、戻ってきたときのパラメータを MT 側でハンドルするみたいだけど、そうすると各サイトごとの2度目以降はどうやって認証するかが気になりますね。各サイトごとに固有になるような TypeKey 用 Cookie をはくのかなあ。
というわけで、平田さん、僕にもテスト版くださいよ、というお願いでした。
現在鋭意製作中です。しばらくお待ちください。:-)
Posted by: hirata on April 8, 2004 09:45 PMYes true, old as world :)
Posted by: Big Naturals on July 10, 2004 10:52 AM