Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- RxSwift
- 오블완
- Unit
- @Model
- tutorial
- SwiftData
- watchapp
- Swift
- KoreaMango
- watchkit
- 대학생협
- 프로그래머스
- WWDC
- 티스토리챌린지
- xcode15
- ios
- 1주차
- unittest
- Flutter
- ActivityKit
- 콩세알프로젝트
- Apple
- tutorials
- test
- 회고
- swiftUI
- 2023
- 개발자
- 3주차
- 2주차
Archives
- Today
- Total
KoreaMango 나무
Flutter - secure_storage || KeyChain 사용법 (feat. Method Channel) 본문
Flutter
Flutter - secure_storage || KeyChain 사용법 (feat. Method Channel)
KoreaMango 2024. 11. 10. 22:51안녕하세요 :)
iOS 에서는 계정 토큰 관련된 정보는 보안을 위해 KeyChain이라는 곳에 저장하는데요.
KeyChain은 Apple이 제공하는 보안 저장소라서, 암호화되어 저장됩니다.
Flutter도 이렇게 민감한 정보들을 저장할 때는 Native 쪽의 암호화가 되어 있는 곳에 저장해야 합니다.
그래서 iOS인 경우는 Method Channel을 통해서 통신을 하고 데이터를 전달한 다음, KeyChain에 저장해야 합니다.
이렇게 로컬에 저장하는데, Method Channel 로 요청을 보내고 Native에서 작업을 진행하려면 꽤 작업이 들어가는데요.
이러한 작업을 간단하게 도와줄 패키지가 있습니다.
https://pub.dev/packages/flutter_secure_storage
Flutter Secure Storage 라고 하는데요!
들어가서 보시면 아시겠지만 매우 간단하게 추상화되어 있습니다.
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
// Create storage
final storage = new FlutterSecureStorage();
// Read value
String value = await storage.read(key: key);
// Read all values
Map<String, String> allValues = await storage.readAll();
// Delete value
await storage.delete(key: key);
// Delete all
await storage.deleteAll();
// Write value
await storage.write(key: key, value: value);
엄청 간단하죠 허허
그래서 JWT나 Auth정보는 LocalDB인 SharedPreference가 아니라 Secure Storage에 저장해봐요 :)
추가적으로 정보를 알려드리자면
Method Channel은 Flutter와 Native 코드 간의 양방향 통신을 하게 해주는 중요한 친구입니다 :)
구조는 이런 식으로 되어 있습니다. 출처는 아래에 있습니다!
https://docs.flutter.dev/platform-integration/platform-channels
'Flutter' 카테고리의 다른 글
Flutter - 플러터의 메모리 관리 (1) | 2024.11.12 |
---|---|
Flutter - Class의 확장 방법 (2) | 2024.11.11 |
Flutter State Management - 1. Provider, ChangeNotifier 에 대해 (0) | 2024.11.09 |
Flutter - Build Context란? (1) | 2024.11.08 |