プロジェクト

全般

プロフィール

Bug(バグ) #2414

「Cookie 内のユニークな ID」が携帯を機種変したときのメルアド・パスワードログイン時に生成されない

Ryosuke Kunitada12年以上前に追加. 8年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2011-09-21
期日:
進捗率:

100%

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

説明

2011/7/26にOpenPNE3.6beta11で確認した内容です。
その後修正されているなら閉じてください。

■1■挙動について
opAuthMobileUIDPluginの、
「認証に使用する ID の設定」
で、

  • Cookie 内のユニークな ID のみによって認証をおこなう
  • Cookie が利用できる端末の場合は Cookie 内のユニークな ID を用い、それ以外の端末では携帯電話個体識別番号によって認証をおこなう

を選択してる場合に、
cookieのop_mobile_uidがなんらかの方法で削除(20年たったり、その他)されたら、
/member/configUID のURLから、Cookie再発行するしかない挙動な感じがします。

それだと、
機種を変えてメルアド・パスワードログインした場合に、
op_mobile_uidのcookieが発行されず、毎回メルアド・パスワードログインをすることになるので、
使い勝手が悪いとおもいます。

メルアド・パスワードログインした場合にop_mobile_uidのcookieが発行される仕様を検討して欲しいです。


関連するチケット

関連している OpenPNE 3 - Backport(バックポート) #2474: 「Cookie 内のユニークな ID」が携帯を機種変したときのメルアド・パスワードログイン時に生成されない Fixed(完了) 2011-10-06
関連している OpenPNE 3 - Backport(バックポート) #3113: 「Cookie 内のユニークな ID」が携帯を機種変したときのメルアド・パスワードログイン時に生成されない Fixed(完了) 2011-09-21

履歴

#1 Mutsumi Imamura12年以上前に更新

  • 説明 を更新 (diff)

下記については #2415 にて対応します

■2■文言について
# Cookie 内のユニークな ID のみによって認証をおこなう
# Cookie が利用できる端末の場合は Cookie 内のユニークな ID を用い、それ以外の端末では携帯電話個体識別番号によって認証をおこなう
にしてる場合の、
/member/configUID
での、
「携帯個体識別番号を登録します。パスワードを入力して、「確定」ボタンを押してください。」
って文言の、
「携帯個体識別番号を登録」
というのが適切じゃない気がします。管理画面での文言に沿うなら、
「Cookie 内のユニークな ID を登録します。」
ではないでしょうか?こちらも検討して欲しいです。

#2 Ryosuke Kunitada12年以上前に更新

  • 説明 を更新 (diff)

#3 Mutsumi Imamura12年以上前に更新

  • 360対象3.6.0 にセット

#4 Shingo Yamada12年以上前に更新

  • 担当者Minoru Takai にセット
  • 対象バージョンv1.3.3 にセット

#5 Minoru Takai12年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更

チケットのステータスを変更していませんでしたが、対応中です。

#6 Minoru Takai12年以上前に更新

apps/mobile_frontend/modules/member/actions/actions.class.php

92-          $member = $this->getUser()->getMember();
93-          $member->setConfig('mobile_uid', $request->getMobileUID(false));
94-          if ($cookieUid)
95-          {
96-            $member->setConfig('mobile_cookie_uid', $cookieUid);
97-          }

かんたんログイン設定の action 内で mobile_cookie_uid を設定する処理を lib/user/opSecurityUser.class.php の login() メソッドに追加します。

#7 Minoru Takai12年以上前に更新

  • プロジェクトopAuthMobileUIDPlugin から OpenPNE 3 に変更
  • 対象バージョン を削除 (v1.3.3)

かんたんログインに使われる mobile_uid などの設定はコア側で行なわれています。この修正もコア側へのものとなるためプロジェクトを変更します。

#8 Minoru Takai12年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 対象バージョンOpenPNE 3.7.0 にセット
  • 進捗率0 から 50 に変更
  • 3.6 で発生するかYes にセット

73cabddc でコミットしています。

#9 Kousuke Ebihara12年以上前に更新

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

#10 Fumie Toyooka12年以上前に更新

  • ステータスPending Testing(テスト待ち) から Rejected(差し戻し) に変更
  • 進捗率70 から 50 に変更

docomo, Softbank の端末で以下の手順でテストを行いました。
期待結果は手順7を終えた時点で「ログインすることができる」でした。
しかし、かんたんログイン機能でログインすることができませんでした。 (追記2011/10/07 14:19)

0. このテストはSSLを使用したテスト環境でテストを行なってください
1.プラグイン設定 => 認証プラグイン設定 => opAuthMailAddressPluginの設定(/pc_backend.php/opAuthMailAddressPlugin)”
で「PCメールアドレスと携帯メールアドレスの両方を受け付ける」 を選択.
2.プラグイン設定 => 認証プラグイン設定 => opAuthMobileUIDPluginの設定(/pc_backend.php/opAuthMobileUIDPlugin)
で「Cookie 内のユニークな ID のみによって認証をおこなう」を選択.
3.docomo(Softbank) 端末 A を用いて,メールアドレスとパスワードを用いてログインする.
4.「かんたんログイン設定」でパスワードを入力し「確定」押下.
5.端末 A の SIM を挿したdocomo(Softbank) 端末 B を用いて,メールアドレスとパスワードを用いてログインする.
6.ログアウトする.
7. SNSに遷移し、かんたんログインを行う

さらに、au(iida) 端末で SSL用テスト環境 にアクセス出来ませんでした。
「このサイトは安全でない可能性があるため接続できません(証明書不一致)」
というアラートが出ました。

以上、ご確認よろしくお願いいたします。

#11 Minoru Takai12年以上前に更新

  • ステータスRejected(差し戻し) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

note-10 について回答します。

その前にまず、テスターテストで何を確認しようとしたのかを示します。

  • テスト手順
    1. 携帯端末 A を使い、SNSにアクセスし、メルアド+パスワードでログイン(とりあえずログインする)
    2. 「かんたんログイン設定」を行い、端末 A にかんたんログイン設定を明示的に行う
    3. 端末 A でログアウトする(以降は端末 A で操作はしない)
    4. (端末 A と同じキャリアの)端末 B で、先程と同じメルアド+パスワードでログインする
    5. 端末 B で一旦ログアウトする
    6. 端末 B で「かんたんログイン」を試みる
  • このテストの意味
    • このチケットの修正により、「ログイン直後に『かんたんログイン設定』が行われる」ので、それをテストする

しかしこのテストは誤っています。

  • このチケットでの修正内容
    • cookie が使える端末に限って、ログイン直後に「かんたんログイン」に使われる cookie を発行する

note-10 でテストが失敗した理由は、端末 B が cookie が使える端末ではなかったためです。また、このシナリオは間違ってはいませんが前半が冗長です(端末 A でかんたんログイン設定を予め行なっておく必要性はありません。また、わざわざ SIM カードを移す必要もありません)。


さらに、au(iida) 端末で SSL用テスト環境 にアクセス出来ませんでした。
「このサイトは安全でない可能性があるため接続できません(証明書不一致)」
というアラートが出ました。

  • なぜ SSL 環境を前提としたテストになっているのでしょうか
  • SSL 環境では、そこが本当に信用できるかを示す正当(有効)な SSL 証明書が使用されているべきですが、この証明書がない場合にアクセスできないクライアントが存在し、 au 端末でアクセスできないのはこれが原因です。(また、正当な証明書であっても、クライアントが正しいものであると解釈できない場合にも同様の問題が生じます。現状のワイルドカード証明書などが該当します。)

#12 Mutsumi Imamura12年以上前に更新

なぜ SSL 環境を前提としたテストになっているのでしょうか

SSLの時のテストを入れたのは、
auのcookieはhttpのときはEZサーバーに保存されるが、SSLのときはcookieが端末に保存されるという挙動の違いがあるのでその部分を確認しようと思ったからです。

#13 isao sano12年以上前に更新

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

テスト完了しました。
ステータスをFixedに致します。

#14 kaoru n8年以上前に更新

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

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