[문제 상황] 기존에 Interceptor와 Refresh 토큰을 활용한 재인증 코드를 작성했는데, 포스팅 1에서 TokenAuthenticator를 활용한 토큰 인증을 구현했다. https://jinudmjournal.tistory.com/86 [Android, Kotlin] Interceptor + Refresh 토큰을 활용한 재인증 구현 1 ❗️오류가 발생해서 리포스팅 했습니다. https://jinudmjournal.tistory.com/88 [Android, Kotlin] Interceptor + Refresh 토큰을 활용한 재인증 구현 2 이전에 작성한 포스팅에서 오류가 발생해서 리포스팅 합니다. jinudmjournal.tistory.com 하지만 위의 방식은 성공적으로 토큰을 불러오나 저장..
아래 방식도 오류가 발생해서 최종 코드로 리포스팅 했습니다. https://jinudmjournal.tistory.com/89 [Android, Kotlin] Interceptor + Refresh 토큰을 활용한 재인증 구현 3 - 문제 해결, 최종 코드 [문제 상황] 기존에 Interceptor와 Refresh 토큰을 활용한 재인증 코드를 작성했는데, 포스팅 1에서 TokenAuthenticator를 활용한 토큰 인증을 구현했다. https://jinudmjournal.tistory.com/86 [Android, Kotlin] Interceptor + jinudmjournal.tistory.com 이전에 작성한 포스팅에서 오류가 발생해서 리포스팅 합니다. 인증을 진행하는 TokenAuthenticato..
API 서버에 이미지 + 내용 데이터 전송하기 서버에서 원하는 데이터 형식은 아래와 같다. Posting (게시물)을 서버 쪽으로 POST 할 때 2가지의 값을 multipart/form-data 형식으로 받는다. 이미지 파일을 변환하고 나머지 데이터를 param 형식으로 전송하는 방법을 시도했다. MultiPart 형식으로 데이터를 전송하기 위해 ViewModelScope를 사용했다. ViewModelScope viewModelScope는 viewModel 내부에서 사용되며, lifecycle을 인식하는 코루틴 스코프를 만들 수 있다. 이 방식은 viewModelScope 블럭에서 실행되는 작업들을 별도의 처리 없이 ViewModel이 clear 되는 순간 자동으로 취소하게 할 수 있다. 데이터를 전송..
❗️오류가 발생해서 리포스팅 했습니다. https://jinudmjournal.tistory.com/88 [Android, Kotlin] Interceptor + Refresh 토큰을 활용한 재인증 구현 2 이전에 작성한 포스팅에서 오류가 발생해서 리포스팅 합니다. 인증을 진행하는 TokenAuthenticator.kt 클래스에서 오류가 발생했다. header를 재정의하고 테스팅을 진행하였다. [MasterApplication.kt] - 토큰 jinudmjournal.tistory.com 개념 정리 : 재인증 구현 1 수정 코드 : 재인증 구현 2 Refresh Token으로 기존 Access Token을 갱신하는 방법 로그인 인증으로 토큰을 사용하기 위해서 Access 토큰이 리소스로 접근, 일정 시간..
[ 구현 목록] 1. check box를 통한 자동 로그인 ture/false 기능 구현 2. sharedPreferences로 로그인 데이터 저장 3. 로그인 데이터를 암호화해서 저장 SharedPreferences의 저장방식 - 소규모의 데이터를 앱 안에 XML 파일로 저장하는 저장소 - 아래의 경로로 데이터 저장 /data/data/{package_name}/shared_prefs/{filename}.xml - 안드로이드 스튜디오 디바이스 매니저에서 확인 가능 Security Library 사용 https://developer.android.com/reference/androidx/security/crypto/EncryptedSharedPreferences EncryptedSharedPreferen..
코틀린 코드로 토큰 기반 로그인 구현 자주 사용하는 기능이기에 정리한다. 토큰 기반 인증은 모던 웹서비스에서 많이 사용하는 방법이며, API 기능에서 사용하는 인증 작업중에 가장 좋은 방법인 것 같다. [토큰 인증을 사용하는 이유] - 유저의 인증 정보를 서버나 세션에 담아두지 않아도 됨 (Stateless) - 서버는 클라이언트 측에서 오는 요청만 처리하므로 서버와 연결고리가 적음 (Scalability) - 서버에 요청을 보낼 때 쿠키를 전달하지 않기 때문에 보안이 높음 [토큰 인증의 작동 원리] 1. 유저가 아이디 + 비밀번호 등으로 로그인 2. 서버측에서 해당 계정정보를 확인 3. 정확한 정보일 경우 유저에게 토큰 발급 4. 클라이언트가 서버에서 받은 토큰을 저장 5. 서버에 새로운 요청을 보낼 ..