토큰 만료 시 재인증 하는 방법 - sieunju/TIL Wiki

요약 (Summary)

배경 (Background)

학습한 내용 정리

코드 예시 (Example)

com.til.data.interceptor.TokenAuthenticator.kt

override fun authenticate(route: Route?, response: Response): Request? {
        // Token Expired JWT 토큰 만료시 코드 => 401
        return if (response.code == 401) {
            val tokenResponse = apiService.tokenRefresh().blockingGet()
            // Token 저장
            loginManager.setToken(tokenResponse.data?.token ?: "")
            response.request.newBuilder().apply {
                header(NetworkConfig.HEADER_KEY_ACCEPT, NetworkConfig.HEADER_VAL_ACCEPT)
                header(NetworkConfig.HEADER_KEY_CONTENT, NetworkConfig.HEADER_VAL_CONTENT)
                header(NetworkConfig.HEADER_KEY_TOKEN, loginManager.getToken())
            }.build()
        } else {
            null
        }
    }

테스트 (Test)

참조 (References)