OkHttp Authenticator에서 runBlocking 제거하기
·
Android
안드로이드 개발에서 멀티플랫폼을 사용하지 않는 이상 대부분의 네트워크 통신은 Retrofit을 기반으로 합니다. Retrofit은 내부적으로 OkHttp 위에서 동작하고 토큰 기반 인증 로직을 구현하려면 결국 OkHttp의 특성을 직접 다루게 됩니다.특히 리프레시 토큰을 이용한 토큰 재발급 과정은 단순히 새 토큰을 받아오는 것이 아니라 여러 요청이 동시에 들어오는 상황에서의 동시성 문제까지 함께 고민해야 해서 생각보다 까다롭습니다.이 글은 OkHttp + Retrofit + Coroutines 조합을 사용하면서 Authenticator 안에 runBlocking을 섞어 쓰던 구조를 어떻게 리팩토링했는지를 정리한 기록입니다. 최근 코루틴을 공부하다가 문득 동기와 비동기의 경계를 runBlocking으로 이..