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. 서버에 새로운 요청을 보낼 ..
안드로이드 앱과 연동하기 위한 RESTFul API 서버 구축하기 step 2 프로젝트를 생성했다면 Model을 구성하기 위해서 프로젝트 내부에 App을 생성해야 한다. (smonth) C:\Users\jinwo\desktopss\codingJM\djangoWork\smonth\Scripts>cd .. (smonth) C:\Users\jinwo\desktopss\codingJM\djangoWork\smonth>cd swallow_month (smonth) C:\Users\jinwo\desktopss\codingJM\djangoWork\smonth\swallow_month>python manage.py startapp dayData 프로젝트 폴더로 이동한 후 python manage.py startapp ..
안드로이드 앱과 연동하기 위한 RESTFul API 서버 구축하기 DRF로 앱 서버를 구축하기 위한 세팅을 기록한다. 우선 파이썬 가상 환경을 준비한다. [가상 환경] 파이썬 가상 환경은 파이썬 프로젝트 진행 시 독립된 환경을 만들어 주기 위한 도구이다. 여러 프로젝트를 개발할 때 각 프로젝트마다 다른 버전을 사용한다면 하나의 PC에 다른 버전의 장고 환경을 구축해야 하는 문제가 발생한다. 이를 해결하기 위해서 가상 환경을 사용한다. 우선 명령 프롬프트를 통해서 가상 환경을 설치할 폴더로 이동한다. Visual Studio Code 상단의 터미널 탭을 통해서 내가 원하는 폴더로 이동한다. C:\Users\jinwo\desktopss\codingJM\djangoWork djangoWork라는 폴더에 가상환..