Backport(バックポート) #3159
完了スマートフォンで携帯メールアドレスを利用することができない
100%
説明
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版有効設定
- 携帯版有効設定
- ログイン用メールアドレス設定
- opAuthMailAddressPlugin
Causes (原因)¶
スマートフォンのウェブブラウザからのアクセスは OpenPNE の pc_frontend アプリケーションに関連付けられる(スマートフォン対応は謳っていないが 3.6.x 以下も同様の状態である)一方で、メールアドレス関連機能ではスマートフォンでも利用できる「携帯メールアドレス」を mobile_frontend アプリケーションに関連付けているため不整合が起きている。
Way to fix (修正内容)¶
以下の4つの問題を修正対象とした。
- 携帯メールアドレス宛てに送られるメールに含まれるURLが mobile_frontend.php となっておりスマートフォンのブラウザからアクセスするとエラー画面が表示される [core][メール送信機能を持つプラグイン全般]
- pc_frontend から携帯メールアドレスを利用して新規登録することができない [opAuthMailAddressPlugin]
- 管理画面からの設定内容によっては、スマートフォン版ログイン画面で携帯メールアドレスを入力してもログインできない [opAuthMailAddressPlugin]
- 管理画面から登録時に携帯個体識別番号の登録を必須にしている場合にスマートフォンからは登録完了できないことがユーザーにとってわかりにくい [core]
修正内容
1. メールに含まれる URL の形式は変更せず、mobile_frontend.php や mobile_frontend_dev.php へ PC やスマートフォンのブラウザでアクセスした場合に pc_frontend の対応する URL へリダイレクトするように変更した。
これにより、携帯メールアドレスに宛てに送られた mobile_frontend.php の付いた URL にスマートフォンのブラウザでもアクセスできるようになった。
2. opAuthMailAddressPlugin の新規登録フローで、pc_frontend 側では PCメールアドレス、携帯メールアドレスのいずれのメールアドレスでも登録完了できるように変更した。
3. opAuthMailAddressPlugin のプラグイン設定から『ログイン用メールアドレス設定』を削除し、設定によらず「PCメールアドレスと携帯メールアドレスの両方を受け付ける」の場合と同様の挙動となるよう変更した。
以前のバージョンから利用している管理者に対しては、変更内容説明のための告知が必要。
ログイン用メールアドレスについて、「PCメールアドレスと携帯メールアドレスのどちらか一方を受け付ける」の挙動が必要だという要望があれば、その設定と合わせて登録フローについても一方のみを受け付ける設定の追加を検討する。
4. 「PC・携帯登録時に携帯個体識別番号の登録を必須にする」設定の場合に pc_frontend での登録フローの最後に表示される携帯メールアドレスを入力するフォーム画面に、「スマートフォンからは登録することができませんのでご注意ください。」という説明文を追加した。
携帯メールアドレスに含まれる URL は、pc_frontend で携帯メールアドレスを入力するフォームが表示されるページと同じ形式のものとなっており、スマートフォンのブラウザからアクセスした場合は今回注意文を追加した画面が表示されることになる。
Rimpei Ogawa さんが12年以上前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
Rimpei Ogawa さんが12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Accepted(着手) に変更
- 進捗率 を 50 から 0 に変更
https://redmine.openpne.jp/issues/3155#note-6
の内容に対応するためステータスを戻します。
Rimpei Ogawa さんが12年以上前に更新
- 説明 を更新 (差分)
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
修正しました。
Revert を挟んだので実質以下の4コミットで変更しています。
- 1. の修正
- ba0cd771 redirect from mobile_frontend.php to index.php for smartphone users who have a mobile mail address
- 2. の修正
- 5689f175 [opAuthMailAddressPlugin] registration with mobile address in the pc_frontend application for smartphone users
- 3. の修正
- 8b264a8b [opAuthMailAddressPlugin] remove `is_check_multiple_address' and always allowed to login with either pc or mobile address
- 4. の修正
- d3f33879 added a note for smartphone users to the mobile registration page
Kousuke Ebihara さんが12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Yuma Sakata さんが12年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テストOKです。