プロジェクト

全般

プロフィール

Bug(バグ) #2087

OpenPNE2系からコンバートした環境でかんたんログインできない携帯機種がある

Mutsumi Imamuraほぼ13年前に追加. 8年以上前に更新.

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

100%

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

説明

Overview (現象)

OpenPNE2の時にかんたんログインを設定しておき、そのSNSをOpenPNE3系(3.4 or 3.6)にコンバートした場合、設定した携帯機種でかんたんログインできない。
au(misora)はかんたんログインできるが、softbankとdocomoの携帯でかんたんログインできない。
本来はかんたんログインできるのが正しい仕様である。

もちろん、コンバート後かんたんログインを再設定すれば再びかんたんログインできるようになる。

再現バージョン

  • OpenPNE3.6beta10-dev
  • OpenPNE3.4.12-dev

再現した携帯機種

  • Docomo SH-05A,P901is
  • softbank 840P

再現手順

  1. OpenPNE2.14で携帯(au、docomo、softbank)を登録する
  2. かんたんログインできるようにしておく(個体識別番号を登録しておく)
  3. 手順1で登録したSNSをOpenPNE3.6(または3.4)にコンバートする
  4. 手順1で登録した携帯でかんたんログインを試みる
  5. auはかんたんログインできる
  6. docomoとsoftbankはかんたんログイン出来ずにログイン失敗しましたのページに遷移する

Causes (原因)

OpenPNE 2 では端末付与型の携帯電話個体識別番号を優先して取得しているにも関わらず、 OpenPNE 3 ではゲートウェイ付与型の携帯電話個体識別番号を優先して取得し、かんたんログインに使用しているため。

Way to fix (修正内容)

ゲートウェイ付与型の携帯電話個体識別番号のみ取得や、端末付与型の携帯電話個体識別番号のみの取得がおこなえるようにし、かんたんログインなどそれらの区別が必要な場面において柔軟に対応できるようにした。

この変更を利用したかんたんログイン自体の実装の修正については、 opAuthMobileUIDPlugin 側で実施した。 http://redmine.openpne.jp/issues/2220


関連するチケット

関連している OpenPNE 3 - Backport(バックポート) #2205: OpenPNE2系からコンバートした環境でかんたんログインできない携帯機種がある Fixed(完了) 2011-06-10
関連している opAuthMobileUIDPlugin - Enhancement(機能追加・改善) #2220: OpenPNE 2 からアップグレードしたユーザの救済のために携帯電話個体識別番号のマッチングを複数回おこなう Fixed(完了) 2011-06-14
関連している OpenPNE 3 - Backport(バックポート) #2525: OpenPNE2系からコンバートした環境でかんたんログインできない携帯機種がある Fixed(完了) 2011-05-12

関係しているリビジョン

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

added test for fallback uid (fixes #2087)

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

divided opWebRequest::getMobileUID() into retriving normal uid part, retriving fallback uid part and hashing uid part (refs #2087)

リビジョン 89da5b0c (差分)
Kousuke Ebihara12年以上前に追加

changed to retrieve only non-fallback mobile uid in OpenPNE 3 core because fallback uid is just for keeping BC reason (refs #2087)

リビジョン 05c7f459 (差分)
Kousuke Ebihara12年以上前に追加

changed not to retrieve fallback uid in member/registerMobileToRegisterEnd (oversight in my 89da5b0c commit) (fixes #2087)

リビジョン 0601f3e2 (差分)
Kousuke Ebihara12年以上前に追加

added importing configuration for keeping backward compatible with a legacy (insecure) implementation of mobile uid authentication on upgrade from OpenPNE 2 (refs #2087)

リビジョン 50d374cd (差分)
Kousuke Ebihara12年以上前に追加

changed opWebRequest::getMobileFallbackUID() to return both of OpenPNE 3 format ID and OpenPNE 2 format one (fixes #2087)

履歴

#1 isao sanoほぼ13年前に更新

参考情報

概要

2系と3系で取得される固体識別番号が異なる

手順

1. 2.14で固体識別番号(暗号化済)を取得。→文字列Aとする
2. 2.14から3.6にバージョンアップ
3. 手順2の環境で固体識別番号を再度紐付け(かんたんログイン設定をしなおす)
4. 手順3で設定しなおされた固体識別番号(暗号化済)を取得。→文字列Bとする
5. 文字列Aと文字列Bが異なる

再現が確認される機種

  • docomo P901i
  • softbank 840P

※au iida misoraでは再現しませんでした

補足情報

取得された固体識別番号(暗号化済)
docomo softbank
2.14 5de30a19ba0bc737419cc01d93ac02a4 28789694a6c9d6345c1376ec9e9d8c0c
3.6beta9 03dcc4cd5fd99292fd57ead077bf2d76 d9624ba8ecb57d2409eb596e95fd1f35

関連しそうな情報

  • ドコモとソフトバンクは端末側とゲートウェイ側で別の個体識別番号を持っているので、2系と3系で別のものを優先して取得しているのではないか?
  • 個体識別番号の件、分岐条件の順序が違うからじゃないか?

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

  • プロジェクトOpenPNE Security Issue から OpenPNE 3 に変更

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

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

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

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

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

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

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

  • 担当者Kousuke Ebihara にセット

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

  • コアと opAuthMobileUIDPlugin の両方の変更が必要
  • ゲートウェイからきた ID のみを取得するオプションと、両方取得するオプションの両方を追加する
    • 新規セットアップ時のデフォルトは前者で、アップデート時のデフォルトは後者

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

opAuthMobileUIDPlugin 側にチケットを作成しました。 http://redmine.openpne.jp/issues/2220

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

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

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

#10 Rimpei Ogawa12年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

本チケットの対象範囲からは若干外れるかもしれませんが、コアの member/configUID アクション(「かんたんログイン設定」というページ)や opAuthRegisterForm での携帯電話個体識別番号の登録時に getMobileUID() を引数なしで呼び出すために端末付与型のIDを登録できてしまう状態になっています。

修正前のコードも端末付与型のIDを登録できていた状態でしたが、特に opAuthMobileUIDPlugin が #2220 の修正適用後のバージョンでインストールした環境では、登録時に端末付与型のIDのみを送信するとユーザー側には携帯電話個体識別番号の登録が正常に完了したように見えるにもかかわらず、かんたんログインはできない状態となってしまいます。

#2220 で opAuthMobileUIDPlugin に端末付与型の携帯電話個体識別番号を取得しないようにするオプションを追加していますが、携帯電話個体識別番号の登録処理がコアにある現状では、プラグイン側の設定に従ってコアの挙動を変えるのは不自然であるためコア側の設定項目として持つ方法も検討すべきかもしれません。

ただ、OpenPNE2からのアップグレード以前に携帯電話個体識別番号を登録していたユーザーの救済目的で端末付与型のIDを利用したいだけであれば、新規に登録する携帯電話個体識別番号で端末付与型のIDを登録できる必要はないため、認証時の取得設定によらず登録時には端末付与型のIDは取得しないようにする方法も考えられます。

#11 Shingo Yamada12年以上前に更新

  • 360対象beta13 にセット

#12 Kousuke Ebihara12年以上前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

89da5b0c6632cfac9c668df9da331aca3a037332http://redmine.openpne.jp/issues/2087#note-10 の指摘事項に対応しました。

ただ、OpenPNE2からのアップグレード以前に携帯電話個体識別番号を登録していたユーザーの救済目的で端末付与型のIDを利用したいだけであれば、新規に登録する携帯電話個体識別番号で端末付与型のIDを登録できる必要はないため、認証時の取得設定によらず登録時には端末付与型のIDは取得しないようにする方法も考えられます。

コアに設定項目を持ってくるかどうかは悩みどころでしたが、後方互換性維持以外の目的で端末付与型の ID を使用する理由はないため、シンプルにこの方針を採用する方向で対応しました。

#13 Rimpei Ogawa12年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

note-10 のコメントで漏れていましたが、 member/registerMobileToRegisterEnd アクション内にも mobile_uid を登録している処理があり、ここでも端末付与型の ID を取得しない対応が必要です。

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

141         $member->setConfig('mobile_uid', $request->getMobileUID());

#14 Kousuke Ebihara12年以上前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

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

#15 Maki Takahashi12年以上前に更新

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

note-13 での指摘が修正されていること、
および他にmobile_uidを登録しているが対応から漏れているものがないことを確認いたしました。

#16 Shingo Yamada12年以上前に更新

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

BPチケット側で「差し戻し」となています。
本チケットのステータスも変更します。

#17 Kousuke Ebihara12年以上前に更新

http://redmine.openpne.jp/issues/2205#note-11 より指摘内容を転記します。

テスト実施しましたが、修正が必要な点がありましたので確認お願いします。

h3. 2.12→3.6アップグレード後、かんたんログイン確認

* *試験手順*
1.OpenPNE2.12で携帯端末を登録する
2. かんたんログインできるように個体識別番号を登録する
3.手順1で登録したSNSをOpenPNE3.6にアップグレードする
4.手順1で登録した携帯端末で、かんたんログインする

* *試験結果*
OpenPNE3.6にアップグレード後、docomo、SoftBank端末で、かんたんログインできない。

* *修正方針*
OpenPNE3.6にアップグレード後、docomo、SoftBank端末で、かんたんログインできるように修正お願いします。

h3. 2.14→3.6アップグレード後、かんたんログイン確認

* *試験手順*
1.OpenPNE2.14で携帯端末を登録する
2. かんたんログインできるように個体識別番号を登録する
3.手順1で登録したSNSをOpenPNE3.6にアップグレードする
4.手順1で登録した携帯端末で、かんたんログインする

* *試験結果*
OpenPNE3.6にアップグレード後、docomo、SoftBank端末で、かんたんログインできない。

* *修正方針*
OpenPNE3.6にアップグレード後、docomo、SoftBank端末で、かんたんログインできるように修正お願いします。

#18 Kousuke Ebihara12年以上前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

0601f3e2 で、 OpenPNE 2 からアップグレードをおこなった際に互換性維持のための設定値を有効にしていなかったのを修正しました。

本件の対応中に、 OpenPNE 2 からのアップグレード時に「認証に使用する ID の設定」が「携帯電話個体識別番号のみによって認証をおこなう (非推奨)」に設定されていなかった問題を発見したため、併せて対処しました。

#19 Maki Takahashi12年以上前に更新

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

修正確認いたしました。問題ないと思います

#20 Kousuke Ebihara12年以上前に更新

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

OpenPNE 2 と OpenPNE 3 とで端末付与型の ID としてみなす範囲が異なっており、 OpenPNE 2 からコンバートした環境でログインがおこなえない状態になっていました。

具体的には、まず、 docomo の端末付与型 ID(icc\w{20})の場合、 OpenPNE 2 では先頭の icc からを ID として扱っていたのに対し、 OpenPNE 3 では (PEAR::Net_UserAgentMobile では) icc に後続する文字列のみを ID として扱っていました。また、 SoftBank の端末付与型 ID (SN.+)の場合も、 OpenPNE 2 では先頭の SN を含んだ文字列を、 OpenPNE 3 では SN に後続する文字列のみを ID として取り扱っていました。

docomo と SoftBank の端末付与型の ID は、 icc や SN といったプレフィックスがついたものとそうでないものの 2 種類を取得、マッチングするように修正する必要があります。

#21 Kousuke Ebihara12年以上前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

#22 Kousuke Ebihara12年以上前に更新

https://github.com/ebihara/opAuthMobileUIDPlugin/commit/4c320320554171a96d13526c26a791591da72936 で opAuthMobileUIDPlugin 側の修正をおこないました(#2220)。

#23 Maki Takahashi12年以上前に更新

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

修正確認いたしました。

#24 isao sano12年以上前に更新

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

テスト完了致しました。
問題ありませんでしたので、ステータスをFixedに致します。

#25 kaoru n8年以上前に更新

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

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