Flutter
Flutter 로그인 기능 구현 (JWT, Flutter Secure Storage)
YJKDEV
2023. 6. 28. 11:30
로그인 기능 로직
앱 실행 => Flutter Secure Storage 확인 =>
- If (토큰 존재) => 토큰 검증 => 로그인 성공
- else if(토큰 없음) => 로그인 시도 => 로그인 성공 => 토큰 발행 => Flutter Secure Storage에 토큰 저장.
Flutter Secure Storage 사용 이유
일반적으로 기기에 영구 데이터를 저장하려고 할 때 SharedPreferences를 사용한다.
하지만, 유저의 로그인 관련된 정보는 민감한 정보이기 때문에 좀 더 안전한 저장방법으로 Flutter Secure Storage 선택.
- iOS에서는 keychain이
- android에서는 KeyStore가 사용되어 안전하다.
JWT 사용이유
모바일 앱 개발 할 때 일반적으로 Firebase Auth를 많이 사용하는 것 같다.
물론 Firebase를 활용한 로그인 기능도 나중에 구현해보겠지만, 일단은 내가 가장 익숙한 JWT를 이용한 로그인 기능을 구현하고자 하였다.
JWT는 웹 브라우저에서 뿐만아니라 모바일 환경에서도 활용이 가능하다는 장점이 있다.