Project

General

Profile

Bug(バグ) #2414

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

Added by Ryosuke Kunitada over 7 years ago. Updated over 3 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Assignee:
Target version:
Start date:
2011-09-21
Due date:
% Done:

100%

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

Description

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が発行される仕様を検討して欲しいです。


Related issues

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

History

#1 Updated by Mutsumi Imamura over 7 years ago

  • Description updated (diff)

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

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

#2 Updated by Ryosuke Kunitada over 7 years ago

  • Description updated (diff)

#3 Updated by Mutsumi Imamura over 7 years ago

  • 360対象 set to 3.6.0

#4 Updated by Shingo Yamada over 7 years ago

  • Assignee set to Minoru Takai
  • Target version set to v1.3.3

#5 Updated by Minoru Takai over 7 years ago

  • Status changed from New(新規) to Accepted(着手)

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

#6 Updated by Minoru Takai over 7 years ago

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 Updated by Minoru Takai over 7 years ago

  • Project changed from opAuthMobileUIDPlugin to OpenPNE 3
  • Target version deleted (v1.3.3)

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

#8 Updated by Minoru Takai over 7 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • Target version set to OpenPNE 3.7.0
  • % Done changed from 0 to 50
  • 3.6 で発生するか set to Yes

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

#9 Updated by Kousuke Ebihara over 7 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

#10 Updated by Fumie Toyooka over 7 years ago

  • Status changed from Pending Testing(テスト待ち) to Rejected(差し戻し)
  • % Done changed from 70 to 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 Updated by Minoru Takai over 7 years ago

  • Status changed from Rejected(差し戻し) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 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 Updated by Mutsumi Imamura over 7 years ago

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

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

#13 Updated by isao sano over 7 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 70 to 100

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

#14 Updated by kaoru n over 3 years ago

  • 3.8 で発生するか set to Unknown (未調査)

Also available in: Atom PDF