Utilisation de SecureState

August 26, 2025 · View on GitHub

SecureState est un composant de la bibliothèque AppState qui vous permet de stocker des données sensibles de manière sécurisée dans le Trousseau. Il est idéal pour stocker de petites quantités de données comme des jetons ou des mots de passe qui doivent être chiffrés de manière sécurisée.

Fonctionnalités Clés

  • Stockage Sécurisé : Les données stockées à l'aide de SecureState sont chiffrées et sauvegardées de manière sécurisée dans le Trousseau.
  • Persistance : Les données restent persistantes entre les lancements de l'application, ce qui permet de récupérer en toute sécurité des valeurs sensibles.

Limitations du Trousseau

Bien que SecureState soit très sécurisé, il présente certaines limitations :

  • Taille de Stockage Limitée : Le Trousseau est conçu pour de petites quantités de données. Il n'est pas adapté au stockage de fichiers volumineux ou de grands ensembles de données.
  • Performance : L'accès au Trousseau est plus lent que l'accès à UserDefaults, il ne faut donc l'utiliser que lorsque cela est nécessaire pour stocker des données sensibles en toute sécurité.

Exemple d'Utilisation

Stocker un Jeton Sécurisé

import AppState
import SwiftUI

extension Application {
    var userToken: SecureState {
        secureState(id: "userToken")
    }
}

struct SecureView: View {
    @SecureState(\.userToken) var userToken: String?

    var body: some View {
        VStack {
            if let token = userToken {
                Text("Jeton utilisateur : \(token)")
            } else {
                Text("Aucun jeton trouvé.")
            }
            Button("Définir le jeton") {
                userToken = "secure_token_value"
            }
        }
    }
}

Gérer l'Absence de Données Sécurisées

Lors du premier accès au Trousseau, ou s'il n'y a aucune valeur stockée, SecureState renverra nil. Assurez-vous de gérer correctement ce scénario :

if let token = userToken {
    print("Jeton : \(token)")
} else {
    print("Aucun jeton disponible.")
}

Meilleures Pratiques

  • Utiliser pour de Petites Données : Le Trousseau doit être utilisé pour stocker de petites informations sensibles comme des jetons, des mots de passe et des clés.
  • Éviter les Grands Ensembles de Données : Si vous devez stocker de grands ensembles de données de manière sécurisée, envisagez d'utiliser le chiffrement basé sur les fichiers ou d'autres méthodes, car le Trousseau n'est pas conçu pour le stockage de grandes quantités de données.
  • Gérer nil : Gérez toujours les cas où le Trousseau renvoie nil lorsqu'aucune valeur n'est présente.

Cette traduction a été générée automatiquement et peut contenir des erreurs. Si vous êtes un locuteur natif, nous vous serions reconnaissants de contribuer avec des corrections via une Pull Request.