MTAppjQuery v3.7.2 リリース - Basic 認証環境で認証ダイアログが繰り返し表示される不具合を修正
本日、Movable Type の管理画面をカスタマイズするプラグイン MTAppjQuery の最新版 v3.7.2 をリリースいたしました。
今回のリリースは、不具合修正を中心としたメンテナンスリリースです。
修正内容
Basic 認証をかけた管理画面で認証ダイアログが繰り返し表示される不具合を修正
Movable Type の管理画面に Basic 認証をかけている環境で、Basic 認証のダイアログが繰り返し表示される不具合を修正しました。一度認証したあと、ログイン画面の表示時やログイン直後に再びダイアログが出るというものです。
MTAppjQuery のシステム設定「Data API JavaScript SDK を利用する」を有効にしていると、Movable Type にログインする前のログイン画面でも Data API の初期化が行われ、同梱の DataAPIProxy プラグインへリクエストが送られます。MTAppjQuery v3.6.8 では、セキュリティ強化の一環として、ログインしていないリクエストを拒否する処理を弊社が同梱版の DataAPIProxy に独自に追加していました。この処理が 401(Unauthorized)で応答していたため、Basic 認証の配下ではブラウザがこの 401 を Basic 認証の失敗と解釈し、認証情報の再入力を求めていました。本バージョンでは応答を 403(Forbidden)に変更しています。
本不具合は v3.6.8 以降で発生します。管理画面に Basic 認証をかけていて、上記の設定を有効にしているお客様は、アップデートをおすすめいたします。
同梱の DataAPIProxy プラグインを v1.11 に更新
DataAPIProxy の開発元である M-Logic 様の最新版 v1.11 では、ログインしていないリクエストの拒否が 403 で応答する正式な機能として実装され、プラグイン設定(システム)で切り替えられるようになりました。これに伴い、弊社が同梱版に加えていた独自の変更を取りやめ、上流版 v1.11 をそのまま同梱する形に戻しています。既定は「拒否する」で、これまでの動作と同じです。mt-config.cgi に DataAPIProxyDisableAnonymousAccess を指定すると、設定画面からは変更できない固定値にできます。
その他の修正
mtappVars.blog_id・content_type_id・サイト ID の比較を Number() で数値に揃えました。環境によってこれらが数値ではなく文字列で渡ることがあり、複製のサイト変更セレクタで現在のサイトが選択されない、コンテンツデータ編集画面で現在のコンテンツタイプが見つからない、デバッグモーダルの「条件文」が一致しない条件で出力されることがありました。
mtappVars.dataapi_script_url の URL からスラッシュが欠落する不具合(参照するのは非推奨の旧アセットフィールドのみ)と、配布 zip 内の .pm ファイルに不要な実行権限が付いていた点を修正しました。
その他の改善
上記のほか、どこからも呼ばれていない未使用の内部関数を削除したほか、内部で使用しているライブラリおよび開発用ツールの整理・更新を行いました。これは将来のメンテナンス性向上を目的とした予防的な対応です。
ダウンロード
- 製品をご購入いただいているお客様:bit part products サイトの製品ダウンロードより最新版をダウンロードいただけます。
アップデート手順
ダウンロードいただいた zip ファイルを展開し、plugins/MTAppjQuery、plugins/DataAPIProxy および mt-static/plugins/MTAppjQuery を Movable Type のインストール先の同名ディレクトリへ上書きアップロードしてください。今回のリリースは plugins/DataAPIProxy のアップグレードも含まれていますので、忘れずに上書きしてください。
今後ともよろしくお願いいたします。