プロジェクト

全般

プロフィール

Bug(バグ) #1833

個体識別番号登録必須制から個体識別番号登録任意/取得しない ような設定にした場合、PC版のみ登録が完了しているメンバーがログインできない

Kiwa Sakai13年以上前に追加. 8年以上前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2010-12-07
期日:
進捗率:

100%

3.6 で発生するか:
Yes
3.8 で発生するか:
Unknown (未調査)

説明

Overview (現象)

以下のような手順を行った場合、SNSに登録できないメールアドレスが生まれてしまう

1. 「メンバー登録時の携帯個体識別番号取得設定」を「# PC・携帯登録時に携帯個体識別番号の登録を必須にする」にする
2. を招待する
3. PC版でメンバー登録を行い、携帯メールアドレス登録画面で操作を中断する
4. 「メンバー登録時の携帯個体識別番号取得設定」を「# PC・携帯登録時に携帯個体識別番号の登録を必須にする」以外に変更する
5. 操作を中断した が仮登録状態のままになり、ログインもできず・招待も行えないメールアドレスになる

Causes (原因)

This issue is caused by dead redirecting to registerEnd action in login process of 3.6.

In 3.4.x and before, login action checks status of authenticated member and make redirect to registerInput action or registerEnd action if it is needed.

However, in 3.6.x, because it obsoletes using credentials in registration process, registering member fails to authenticate. That member is throw out before executing registerEnd action.

ログイン処理における registerEnd アクションへのリダイレクトが、 3.6.x ではおこなわれなくなっていたことが原因。

3.4.x までは、ログイン処理において、認証状態にしたメンバーの現在の状態を確認したうえで「プロフィール登録」(registerInput)、「登録完了」(registerEnd)アクションへの遷移をおこなっていた。

しかし、 3.6.x から登録処理に用いていたクレデンシャルを廃止していたことに伴い、登録中のメンバーはこの分岐処理に至る前の認証処理に失敗するようになってしまっており、 registerEnd アクションを実行することができなくなってしまった。

Way to fix (修正内容)

Checking for redirecting to registerBegin and registerEnd is now executed on any authentication state.

registerBegin, registerEnd アクションへリダイレクトするための分岐処理は、認証状態に関わらずおこなうようにした。


関連するチケット

関連している OpenPNE 3 - Backport(バックポート) #2060: 個体識別番号登録必須制から個体識別番号登録任意/取得しない ような設定にした場合、PC版のみ登録が完了しているメンバーがログインできない Fixed(完了) 2010-12-07
関連している OpenPNE 3 - Backport(バックポート) #2061: 個体識別番号登録必須制から個体識別番号登録任意/取得しない ような設定にした場合、PC版のみ登録が完了しているメンバーがログインできない Invalid(無効) 2010-12-07

関係しているリビジョン

リビジョン aae1e516 (差分)
Masato Nagasawaほぼ13年前に追加

fixed enable the not active members when uid is not required (fixes #1833)

リビジョン b09677f3 (差分)
Masato Nagasawaほぼ13年前に追加

Revert "fixed enable the not active members when uid is not required (fixes #1833)"

This reverts commit aae1e516070c72204f57298faacf7e87850778c1.

リビジョン 9f8aaa1e (差分)
Kousuke Ebiharaほぼ13年前に追加

fixed redirecting to register-input / register-end action in login process doesn't work (fixes #1833)

履歴

#1 Kousuke Ebihara13年以上前に更新

  • 3.6 で発生するかYes にセット

#2 Kousuke Ebihara13年以上前に更新

  • 優先度Normal(通常) から High(高め) に変更

#3 Kousuke Ebihara13年以上前に更新

  • 対象バージョンOpenPNE 3.7.0 にセット

#4 isao sano約13年前に更新

3.7xで再現を確認。
しかし、手順5の後に招待メールの再送及びログインは可能。
他のバージョンでは再現せず。

#5 isao sano約13年前に更新

  • ステータスNew(新規) から Pending Fixing(修正待ち) に変更

#6 Masato Nagasawaほぼ13年前に更新

  • 担当者Masato Nagasawa にセット

#7 Masato Nagasawaほぼ13年前に更新

しかし、手順5の後に招待メールの再送及びログインは可能。

3.7にて確認しましたが、
チケットの説明の通りログインできず、招待メールも送れない状態である事を確認。

取得対象外の端末に変更された場合は本登録状態にする修正を行います。

#8 Masato Nagasawaほぼ13年前に更新

これとは逆の問題もあって、
取得しない状態から必須にした場合に
未登録のメンバーでもログインできてしまう問題があり、
登録を促すかどうか検討する必要があります。

テスト

PC側から携帯メールアドレス登録画面で操作を中断した状態で、
is_active の値を操作してテストを行います。

区分1 区分2 期待結果 結果
PC側でログイン 「必須(PC/携帯)」から変更なし ログインできない
「必須(PC/携帯)」から「必須(携帯)」に変更 ログインできる
「必須(PC/携帯)」から「任意」に変更 ログインできる
「必須(PC/携帯)」から「取得しない」に変更 ログインできる
「取得しない」から「必須(PC/携帯)」に変更 ログインできない
必須(PC/携帯)」から「取得しない」に変更後、
プロフィールの登録をしていない状態でログイン
ログインできない
携帯でログイン 「必須(PC/携帯)」から変更なし ログインできない
「必須(PC/携帯)」から「必須(携帯)」に変更 ログインできる
「必須(PC/携帯)」から「任意」に変更 ログインできる
「必須(PC/携帯)」から「取得しない」に変更 ログインできる
「必須(携帯)」から「必須(PC/携帯)」に変更 ログインできない ログインできる
「取得しない」から「必須(PC/携帯)」に変更 ログインできない ログインできる
PC側で新規登録 「必須(PC/携帯)」にして新規登録処理を行う 携帯登録のフローが存在する
PC側で新規登録 「必須(携帯)」にして新規登録処理を行う 携帯登録のフローが存在しない
PC側で新規登録 「任意」にして新規登録処理を行う 携帯登録のフローが存在しない
PC側で新規登録 「取得しない」にして新規登録処理を行う 携帯登録のフローが存在しない

#9 Masato Nagasawaほぼ13年前に更新

is_active = false のメンバーの場合、
パスワード再発行ができない状態となっている事を確認しましたが、
opAuthMailAddressPlugin 側の問題であるためこのチケットでは対応しません。

#10 Masato Nagasawaほぼ13年前に更新

  • ステータスPending Fixing(修正待ち) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 aae1e516070c72204f57298faacf7e87850778c1 で適用されました。

#11 Masato Nagasawaほぼ13年前に更新

更新履歴 b09677f3ad92d4aade96a61a14313374f8fbe369 で適用されました。

#12 Masato Nagasawaほぼ13年前に更新

  • ステータスPending Review(レビュー待ち) から Accepted(着手) に変更

不具合が発生していない3.4の実装を確認したところ、この実装は適切でないと感じました。
コミットを取り消し、別の実装案を検討します。

以下メモ

opSecurityUser::isSNSMember() で is_active のチェックをしており、
このチェックをはずす事でログインが可能になることが分かりました。
ただ、この変更による影響で他の処理に問題が起こる可能性があります。
そもそもis_activeをどういった目的で使用するべきなのか自分が把握できていないため、
この対処が正しいかどうか分かりません。

#13 Shingo Yamadaほぼ13年前に更新

  • 担当者Masato Nagasawa から Kousuke Ebihara に変更

海老原さんに引き継ぎを依頼しました。

#14 匿名ユーザー がほぼ13年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更

更新履歴 9f8aaa1e4317f5d6ba958d80bfa4f152f01111df で適用されました。

#15 Kousuke Ebiharaほぼ13年前に更新

本件は、いままでおこなわれていたログイン時の登録完了アクションへのリダイレクト処理がおこなわれなくなっていたのが原因であるので、単にこれまでどおりその処理がおこなわれるよう修正しました。

#16 Naoya Tozukaほぼ13年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

海老原さんの変更( 9f8aaa1e )で良いと思います。

#17 Shingo Yamada12年以上前に更新

  • 360対象beta13 にセット

#18 Fumie Toyooka12年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

テストOKです。

#19 kaoru n8年以上前に更新

  • 3.8 で発生するかUnknown (未調査) にセット

他の形式にエクスポート: Atom PDF