Tôi đang tạo ứng dụng React Native và tôi cần lưu một số dữ liệu nhạy cảm như mã thông báo và mã thông báo làm mới. Giải pháp hiển nhiên là lưu thông tin đó bằng cách sử dụng AsyncStorage. Vấn đề là mức độ bảo mật của AsyncStorage.Lưu dữ liệu nhạy cảm trong React Native
AsyncStorage cung cấp cách lưu trữ mã thông báo và mã thông báo cục bộ. Nó có thể , theo một số cách, so với tùy chọn LocalStorage. Trong các ứng dụng sản xuất đầy đủ , bạn không nên truy cập trực tiếp AsyncStorage , nhưng thay vào đó, sử dụng lớp trừu tượng, AsyncStorage là được chia sẻ với các ứng dụng khác sử dụng cùng một trình duyệt và do đó xóa bị loại bỏ tất cả các mục khỏi bộ nhớ có thể làm giảm hoạt động của các ứng dụng lân cận.
https://auth0.com/blog/adding-authentication-to-react-native-using-jwt/
Trong một ứng dụng bản địa, tôi sẽ đi cho Keychain
trong iOS
và Shared Preferences
trong chế độ riêng trong Android
.
Đối với những gì tôi đọc trong các tài liệu được cung cấp bởi Phản ứng Quê quán:
Trên iOS, AsyncStorage được hỗ trợ bởi mã nguồn gốc lưu trữ các giá trị nhỏ trong một cuốn từ điển serialized và lớn hơn các giá trị trong các tập tin riêng biệt. Trên Android, AsyncStorage sẽ sử dụng RocksDB hoặc SQLite dựa trên những gì khả dụng.
https://facebook.github.io/react-native/docs/asyncstorage.html
Họ không bao giờ nói về sự an toàn của dữ liệu đó.
Đây là giải pháp tốt nhất tạo ra một mô-đun cho Android
(có sử dụng Shared Preferences
trong chế độ riêng) và một cho iOS
(có sử dụng Keychain) để lưu các dữ liệu nhạy cảm? Hoặc sử dụng các phương pháp AsyncStorage
có an toàn không?
Những gì bạn đang tìm kiếm, được trả lời trong bài đăng này: http://stackoverflow.com/questions/37563224/why-the-react-native-docs-recommends-that-you-use-an-abstraction-on -top-of-async –
Câu trả lời đó không đưa ra bất kỳ giả thiết nào về bảo mật của 'AsyncStorage'. –
Bạn có thể xem bài đăng này: https://stackoverflow.com/questions/45547657/what-is-the-best-way-to-store-private-data-in-react-native –