Skip to content

Commit b6062cb

Browse files
committed
캐싱된 JWT 토큰 제거 시점 수정
1 parent 602bb8d commit b6062cb

4 files changed

Lines changed: 5 additions & 7 deletions

File tree

core/data/src/main/java/com/neki/android/core/data/remote/di/NetworkModule.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.neki.android.core.data.remote.di
22

33
import com.neki.android.core.common.const.Const.TAG_REST_API
44
import com.neki.android.core.data.BuildConfig
5-
import com.neki.android.core.data.remote.api.AuthService
65
import com.neki.android.core.data.remote.model.request.RefreshTokenRequest
76
import com.neki.android.core.data.remote.model.response.AuthResponse
87
import com.neki.android.core.data.remote.model.response.BasicResponse
@@ -18,7 +17,6 @@ import io.ktor.client.HttpClient
1817
import io.ktor.client.call.body
1918
import io.ktor.client.engine.android.Android
2019
import io.ktor.client.plugins.DefaultRequest
21-
import io.ktor.client.plugins.plugin
2220
import io.ktor.client.plugins.HttpTimeout
2321
import io.ktor.client.plugins.auth.Auth
2422
import io.ktor.client.plugins.auth.providers.BearerAuthProvider
@@ -28,6 +26,7 @@ import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
2826
import io.ktor.client.plugins.logging.LogLevel
2927
import io.ktor.client.plugins.logging.Logger
3028
import io.ktor.client.plugins.logging.Logging
29+
import io.ktor.client.plugins.plugin
3130
import io.ktor.client.request.header
3231
import io.ktor.client.request.post
3332
import io.ktor.client.request.setBody

core/data/src/main/java/com/neki/android/core/data/repository/impl/TokenRepositoryImpl.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import androidx.datastore.preferences.core.Preferences
55
import androidx.datastore.preferences.core.edit
66
import com.neki.android.core.common.crypto.CryptoManager
77
import com.neki.android.core.dataapi.datastore.DataStoreKey
8+
import com.neki.android.core.dataapi.auth.AuthCacheManager
89
import com.neki.android.core.dataapi.repository.TokenRepository
910
import kotlinx.coroutines.flow.Flow
1011
import kotlinx.coroutines.flow.map
@@ -13,6 +14,7 @@ import javax.inject.Inject
1314

1415
class TokenRepositoryImpl @Inject constructor(
1516
@TokenDataStore private val dataStore: DataStore<Preferences>,
17+
private val authCacheManager: AuthCacheManager,
1618
) : TokenRepository {
1719
override suspend fun saveTokens(
1820
accessToken: String,
@@ -22,6 +24,7 @@ class TokenRepositoryImpl @Inject constructor(
2224
preferences[DataStoreKey.ACCESS_TOKEN] = CryptoManager.encrypt(accessToken)
2325
preferences[DataStoreKey.REFRESH_TOKEN] = CryptoManager.encrypt(refreshToken)
2426
}
27+
authCacheManager.invalidateTokenCache()
2528
}
2629

2730
override fun isSavedTokens(): Flow<Boolean> {
@@ -50,5 +53,6 @@ class TokenRepositoryImpl @Inject constructor(
5053
preferences.remove(DataStoreKey.ACCESS_TOKEN)
5154
preferences.remove(DataStoreKey.REFRESH_TOKEN)
5255
}
56+
authCacheManager.invalidateTokenCache()
5357
}
5458
}

core/domain/src/main/java/com/neki/android/core/domain/usecase/UploadMultiplePhotoUseCase.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import com.neki.android.core.model.MediaType
1111
import kotlinx.coroutines.async
1212
import kotlinx.coroutines.awaitAll
1313
import kotlinx.coroutines.coroutineScope
14-
import java.util.UUID
1514
import javax.inject.Inject
1615
import javax.inject.Singleton
1716

feature/auth/impl/src/main/kotlin/com/neki/android/feature/auth/impl/LoginViewModel.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.neki.android.feature.auth.impl
22

33
import androidx.lifecycle.ViewModel
44
import androidx.lifecycle.viewModelScope
5-
import com.neki.android.core.dataapi.auth.AuthCacheManager
65
import com.neki.android.core.dataapi.auth.AuthEventManager
76
import com.neki.android.core.dataapi.repository.AuthRepository
87
import com.neki.android.core.dataapi.repository.TokenRepository
@@ -19,7 +18,6 @@ class LoginViewModel @Inject constructor(
1918
private val authEventManager: AuthEventManager,
2019
private val tokenRepository: TokenRepository,
2120
private val authRepository: AuthRepository,
22-
private val authCacheManager: AuthCacheManager,
2321
) : ViewModel() {
2422
val store: MviIntentStore<LoginState, LoginIntent, LoginSideEffect> =
2523
mviIntentStore(
@@ -48,7 +46,6 @@ class LoginViewModel @Inject constructor(
4846
refreshToken = tokenRepository.getRefreshToken().first(),
4947
).onSuccess {
5048
tokenRepository.saveTokens(it.accessToken, it.refreshToken)
51-
authCacheManager.invalidateTokenCache()
5249
postSideEffect(LoginSideEffect.NavigateToHome)
5350
}.onFailure { exception ->
5451
Timber.e(exception)
@@ -71,7 +68,6 @@ class LoginViewModel @Inject constructor(
7168
accessToken = it.accessToken,
7269
refreshToken = it.refreshToken,
7370
)
74-
authCacheManager.invalidateTokenCache()
7571
postSideEffect(LoginSideEffect.NavigateToHome)
7672
}
7773
.onFailure { exception ->

0 commit comments

Comments
 (0)