diverta / onecard-fido

MIT License
0 stars 0 forks source link

[改善] OATHアカウントが重複登録されないようにする #757

Closed makmorit closed 1 year ago

makmorit commented 1 year ago

概要

756 ご参照

makmorit commented 1 year ago

原因と対策

(1) 管理ツール(Windows版、macOS版問わず)で、QRコードをスキャン-->アカウントを登録し、管理ツールを終了 (2) 管理ツールで、別のQRコードをスキャン-->アカウントを登録し、管理ツールを終了 (3) 管理ツールで、(1) のQRコードを再度スキャン-->アカウントを登録 (4) 管理ツールで、アカウント選択画面を表示すると、(1)、(3)で登録したアカウントが重複表示され、かつ(2)で登録したアカウントは消えてしまう

アカウントを登録時は、1から始まる連番を付して、nRF52840のFlash ROMに保存(レコードを登録)するようにしています。 ところが、nRF5 SDKのFDSの挙動上、レコード登録順=連番通りにアクセスされる事が保証されないため、例えば1-->2-->3ではなく、2-->1-->3とアクセスされるケースがあります。 この時に、本件障害が発生しているようです。

対策としては、目的のレコードに到達した時、単純に最大連番を戻している現行ロジックを、レコードに記録されている連番を戻すよう、プログラムを修正する必要があります。

makmorit commented 1 year ago

対応結果の確認

e07a01cまでの対応の結果、管理ツールでQRコードスキャン時、OATHアカウントが重複登録される不具合が解消された事を確認いたしました。