ログアウト時にアプリで保持しているデバイスIDを破棄しているかの確認、対応
ログアウト時にアプリで保持しているデバイスIDを破棄しているかの確認を行う。
- ログアウト時に、サーバ側ではヘッダに含まれているデバイスIDを破棄しているが、アプリ側では保持しているデバイスIDを破棄していない
- ログイン時に、アプリに保持しているFCM Tokenと現在のFCM Tokenが違っていた場合、もともとアプリで保持しているデバイスIDをヘッダに含めてデバイス情報削除APIをcallしに行こうとしている。(この際に一度サーバとの通信を行っていることをログで確認)
(該当箇所)
LoginFragment.ktのsetupFcm()メソッドから呼び出されているloadOrCreateDeviceIdメソッドの中にある
DeviceInfoRepository.ktのremoveDeviceInfoInnerメソッド、ApiClient.instance.removeDeviceInfo(deviceId,deviceInfo) - デバイスIDを登録した後では、ヘッダに含まれているデバイスIDが変更されていることを確認
修正方針
- ログアウト時には必ずアプリに保持しているデバイスIDを削除する
⇒LoginUtil.ktのclearAuthStateAndNotificationToken()メソッドにてデバイス情報の削除するメソッドを呼び出す処理を追加
⇒DeviceInfoRepository.ktにデバイス情報を削除する処理を追加(不要な関数は削除)
修正後の動作確認結果
- ログアウト時にデバイス情報が削除されていることを確認
- ログイン時にデバイス情報削除APIを呼び出していないことを確認
sbc-atled-aw-devによってに編集されました