- 2008-10-19 (日) 13:35
- MovableType


- コメント時の動作を追いかける(1)
なぜかこのサイトで、コメントしようとサインインすると、コメント権限がないと言われてしまう現象に悩まされているた。
MT4.2になって、監理画面にログインした状態でサインインすると、自動でMT認証してしまうので、この状態に気づくのが遅れた。同じテンプレートで。ローカル環境でのテストをしてみたところ、問題なく動作したので、どうもApacheがらみのサーバー設定の差の様な気がしている。
どうやら、原因は解った。認証の前後でJSONでのデータのやり取りがある様(Javascript中にそれらしい部分がある)なのだが、Friend Feed Commentsというのを試すつもりでインストールしていて、extlib下のJSON.pmというのを、別なもの(ver.2となっていた)に取り換えていたせいだったようだ。たまたまMT4.22の入れ替え中に、オリジナルのJSON.pmのまま、動かしていて気付いた。
無事コメント時の認証機能使えるようになりました。お手数をおかけしました。
という訳で、コメントするまでの流れを、Javascriptの中身を追いかけながら、何が問題か調べてみることにした。つもりだったけど、少し変更してカスタマイズネタを拾いながら追いかけてみることにします。
まず最初にサインインをクリックして実行されるのは、「mtSignInOnClick('comment-greeting')」です。
クリックすると「サインインします...」の表示と、読み込み中である画像が表示されます。その間に「mtClearUser(); 」と「mtFetchUser('mtSetUserOrLogin');」が実行されるわけです。
「mtClearUser」は、一旦クッキーの削除を行います。
「mtFetchUser」で、ユーザーの情報(状態)を取得して、管理画面へログイン済みだったりする場合などには、ログインプロバイダー選択・入力画面へと遷移せずにログインします。
ここでのCGIとのデータのやり取りを、JSONPで行っていて、ライブラリの違いにより正しいやり取りにならなかったので、ログオンしていると認識できなかったのが、ログインのおかしかった原因のようです。
- Newer >: 久しぶりにApacheいじった
- < Older: MT4.22・ちょっと、まてぇ[追記しました]
ping a Trackback
- TrackBack URL for this entry.(1)




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。