OpenIDを、MovableTypeプラグインで使ってみる
ちょっと気になるOpenIDを、理解するために色々テストしてみます。まずはMovable TypeのコメントでOpen IDを使えるようにプラグインをインストールしてみる。
OpenID Commentプラグインをインストール
Pro-Netのページ、 Six Apart - Professional Network - Power Tools から、プラグインをダウンロード。MovableType 3.2が必要です。
11/30追記: Yoshimatsuさんに、v.1.5が出てると教えてもらいました。以下のページでダウンロード可能です。コメントするユーザーの名前をFOAFから拾ってくれるようになっていたり、いい感じ。
zipファイルを解凍して、READMEの通りに、mt-staticとpluginsの中のファイルを、MTディレクトリのそれぞれにコピー。次にMovableTypeの管理画面、「コメント/トラックバックの受信設定」にアクセス。「投稿を受付ける条件」を「認証サービスで認証されたコメント投稿者のみ」に設定して保存。

次に、OpenIDのサイン・インフォームを表示するために、個別アーカイブに<MTOpenIDSignOnThunk>というMTタグを追加して再構築。以下の場所の辺りに追加してみた。
<script language="javascript" type="text/javascript"> <!-- if (commenter_name) { document.getElementById('thanks').style.display = 'block'; } else { document.write('サイン・インしていません。 コメントをする前に登録してください。 <a href="<$MTSignOnURL$>&<MTIfNeedEmail>need_email=1& </MTIfNeedEmail>t=<MTTypeKeyToken>&_return=<$MTCGIPath$> <MTCommentScript>%3f__mode=handle_sign_in%26static=1%26entry_id= <$MTEntryID$>"> TypeKey サイン・イン</a>'); document.getElementById('thanks').style.display = 'none'; } // --> </script> <MTOpenIDSignOnThunk>
こんな感じでブログのコメント欄が表示されます。

OpenID でコメントしてみる
まずは、TypeKey認証でコメントしてみます。「TypeKeyサイン・イン」をクリックしてTypeKeyのページで認証。

こんな感じで、TypeKeyのユーザーID、Junでコメントができます。

次にOpenIDで、サイン・インしてみます。LiveJournalのアカウントを取得してあるので、http://www.livejournal.com/users/goodpic/ をOpenIDのフォーム欄に入力。「サイン・イン」ボタンをクリックすると、LiveJournalのOpenID承認ページにリダイレクトされるのですが、あらかじめLiveJournalのログイン状態でないと、Errorになってしまうよう。ひとまず、LiveJournalでログインして、セッション保持状態にしてから、再びMovableTypeのページからOpenIDサイン・インしてみます。
今度はOK。LiveJournalのページで、MovableTypeのブログ(http://www.goodpic.com/mt/)からの認証確認を受け入れるか、メッセージが表示されます。

「Yes」を選ぶと、MovableTypeのコメント・ページに戻ります。LiveJournalのOpen IDで認証された状態になっているので、LiveJournalのID、goodpicでコメントできるようになっています。

コメントを投稿すると、LiveJournalユーザーとしてコメントが書き込まれます。ただし、MovableTypeの設定で、コメント時にメールアドレスを必須にしてあると、エラーになってしまった。どうもLJから、メールアドレスが、うまくわたせなかったよう。 (11/30追記)TypeKeyとは違い、OpenIDではメールアドレスは渡さないのが仕様ということです。確かに、OpenID認証必須なら、認証ができないメールアドレス入力は必須である必要はなさそうですね。
現状だと、まだまだ画面遷移とか、こなれていない感はありますが、プラグインをインストールするだけで、手軽にOpenIDの感覚をつかむことができますね。OpenIDサーバーのプラグインもあるようなので、もう少し色々と触っていくことにします。
「OpenID 認証サーバを、MovableTypeプラグインで管理」へ続く