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는 웹 브라우저에서 뿐만아니라 모바일 환경에서도 활용이 가능하다는 장점이 있다.