Backport(バックポート) #3159
Rimpei Ogawa さんが12年以上前に更新
h3. Overview (現象) スマートフォンで「携帯メールアドレス(※)」を利用している場合、 OpenPNE の登録をはじめとしたメールアドレスに関連する機能が使用できない。 ※ OpenPNE が携帯メールアドレスと判定する @docomo.ne.jp, @ezweb.ne.jp, @softbank.ne.jp など https://raw.github.com/openpne/OpenPNE3/OpenPNE-3.8.0/lib/config/config/mobile_mail_domain.yml 影響のある機能 * メンバー登録 ** 携帯メールアドレスへ送った招待メールから登録できない(招待側はPC、携帯、管理画面からのいずれも同じメールが送信される) ** 招待なしでの登録時に携帯メールアドレスを入力した場合 [opAuthMailAddressPlugin] * ログイン ** ログイン用メールアドレス設定が「PCメールアドレスと携帯メールアドレスのどちらか一方を受け付ける」に設定されている場合のみ [opAuthMailAddressPlugin] * 携帯メールアドレス変更 * パスワード再設定 [opAuthMailAddressPlugin] * 携帯メールアドレスへ送信されるメールのうちOpenPNEのURLを含むもの ** 登録完了メール ** コミュニティ参加お知らせメール ** フレンドの誕生日お知らせメール ** デイリー・ニュース 考慮すべきユーザーの状態変化 * フィーチャーフォン → スマートフォン にメールアドレスそのままで機種変更(SIMカード入れ替え含む) * スマートフォン → フィーチャーフォン にメールアドレスそのままで機種変更(SIMカード入れ替え含む) 関連する管理画面設定 * SNS設定 ** 一般設定 *** PC版使用設定 *** 携帯版使用設定 ** 認証関連設定 *** 登録の可否 * メール設定 ** メール通知テンプレート設定 * 上級者向け設定 ** 携帯関連設定 *** メンバー登録時の携帯個体識別番号取得設定 * プラグイン設定 ** opAuthMailAddressPlugin *** 招待モード *** PC版有効設定 *** 携帯版有効設定 *** ログイン用メールアドレス設定 h3. Causes (原因) スマートフォンのウェブブラウザからのアクセスは OpenPNE の pc_frontend アプリケーションに関連付けられる(スマートフォン対応は謳っていないが 3.6.x 以下も同様の状態である)一方で、メールアドレス関連機能ではスマートフォンでも利用できる「携帯メールアドレス」を mobile_frontend アプリケーションに関連付けているため不整合が起きている。 h3. Way to fix (修正内容) 以下の3つの問題を修正対象とした。 # 携帯メールアドレス宛てに送られるメールに含まれるURLが mobile_frontend.php となっておりスマートフォンのブラウザからアクセスするとエラー画面が表示される [core][メール送信機能を持つプラグイン全般] # pc_frontend から携帯メールアドレスを利用して新規登録することができない [opAuthMailAddressPlugin] # 管理画面からの設定内容によっては、スマートフォン版ログイン画面で携帯メールアドレスを入力してもログインできない [opAuthMailAddressPlugin] 修正内容 1. mobile_frontend.php や mobile_frontend_dev.php へ PC やスマートフォンのブラウザでアクセスした場合にも pc_frontend の対応する URL へリダイレクトされるように変更した。 これにより、携帯メールアドレスに宛てに送られた mobile_frontend.php の付いた URL にスマートフォンのブラウザでもアクセスできるようになった。 2. opAuthMailAddressPlugin の新規登録フローで、pc_frontend 側では PCメールアドレス、携帯メールアドレスのいずれのメールアドレスでも登録完了できるように変更した。 3. opAuthMailAddressPlugin のプラグイン設定で、ログイン用メールアドレス設定:「PCメールアドレスと携帯メールアドレスの両方を受け付ける」をデフォルトの設定値に変更した。OpenPNE 3.8 以降の利用している場合、スマートフォンユーザーの利便性を優先する設定の方がデフォルト値にふさわしいであろうという考えによる。 以前のバージョンから利用している管理者には、この設定を管理画面で確認・変更するよう告知が必要。