앱의 인증 상태를 확인하는 과정에서 몇 가지 의문점이 생겼습니다:
const [loginStatus, token, refreshToken] = await AsyncStorage.multiGet([
"isLoggedIn",
"accessToken",
"refreshToken", // 이게 필요할까?
]);
// 1. 불필요한 데이터 조회
const [loginStatus, token, refreshToken] = await AsyncStorage.multiGet([
"isLoggedIn",
"accessToken",
"refreshToken", // 사용되지 않음
]);
// 2. 불완전한 데이터 정리
await AsyncStorage.multiRemove([
"isLoggedIn",
"accessToken", // 일부 인증 데이터만 삭제
]);
refreshToken
남겨두기의 위험성:
완전한 로그아웃의 중요성:
// 1. 필요한 데이터만 조회
const [loginStatus, token] = await AsyncStorage.multiGet([
"isLoggedIn",
"accessToken"
]);
// 2. 완전한 데이터 정리
await AsyncStorage.multiRemove([
"isLoggedIn",
"accessToken",
"refreshToken",
"jti"
]);
데이터 조회 최적화:
보안 강화:
코드 가독성:
데이터 최소화 원칙:
보안 우선주의:
코드 리뷰의 중요성:
작은 코드 개선이 앱의 보안성과 성능에 영향을 미칠 수 있습니다.
특히 인증 관련 데이터를 다룰 때는 보안적 측면을 우선적으로 고려해야 하며, 불필요한 데이터 처리를 최소화하는 것이 좋습니다.
이러한 최적화는 단순히 코드를 줄이는 것이 아닌, 더 안전하고 효율적인 앱을 만드는 과정의 일부입니다.