En savoir plus sur le stockage sécurisé Xamarin Essentials

Cette fois, nous allons découvrir le stockage sécurisé à l'aide de l'une des excellentes API que Xamarin.Essentials nous apporte.
Imaginez. par exemple, l'utilisateur souhaite enregistrer son mot de passe dans une application afin de ne pas avoir à le saisir à chaque fois qu'il ouvre l'application. Ce type d'informations est sensible et doit être traité avec une plus grande sécurité. Comment stockerions-nous en toute sécurité ces données très importantes et sensibles dans nos applications ? 🤔
Le stockage sécurisé intervient lorsque vous devez enregistrer certaines données telles qu'un oauth_token ou en tant que mot de passe dans l'exemple ci-dessus. De plus, nous utilisons le trousseau et le magasin de clés de chaque plate-forme spécifique. Apprenons à l'utiliser ! 💪🏼
Préférences
Vous connaissez probablement déjà les Préférencesqui sont très utiles lorsque vous souhaitez enregistrer des informations non privées, par exemple, Voulez-vous que l'appareil se souvienne de votre e-mail ? / Oui. 🕵♂
Mais vous vous demanderez sûrement, Peut-on utiliser les préférences ? Ne couvrent-ils pas des sujets similaires ? Et la réponse est certainement oui, ce sont des sujets très similaires, mais ne confondez pas les préférences et le stockage de sécurité. Il existe des différences clés, comme vous pouvez le voir dans le tableau ci-dessous :
🔧 Paramètres de la plate-forme
📒 Sur iOS : (Cette configuration n'est nécessaire que si vous développez dans un simulateur, sinon elle doit être supprimée.)[19659011]Activez le droit Keychain puis ajoutez le groupe d'accès au trousseau pour l'identifiant du bundle de l'application.
Custom Entitlements
sur Entitlements.plist.📗 Sur Android :
First option—activer ou désactiver la sauvegarde : Si vous souhaitez désactiver la sauvegarde complète de votre application, accédez à votre AndroidManifest.xml et dans les balises de votre application, définissez android:allowBackup sur false.
<manifest[19659023]... >
<application android :allowB ackup="false" ... >
</application>
</manifest>
Deuxième option—sauvegarde sélective : Ou vous pouvez configurer la sauvegarde automatique pour désactiver la sauvegarde de contenu spécifique de la sauvegarde. (Vous pouvez également créer un ensemble de règles personnalisées pour exclure les éléments SecureStore de la sauvegarde.)
- Dans votre AndroidManifest.xmldéfinissez l'attribut
android:fullBackupContent
:[19659037]<application android :fullBackupContent="@xml/auto_bk_rules">
</ application>
Dans le répertoire Resources/xml, créez un fichier XML : Dans cet exemple, le fichier est nommé auto_bk_rules.xml. Définissez AndroidResource en tant qu'action de génération.
Ensuite, définissez le contenu suivant qui inclut toutes les préférences partagées à l'exception de
SecureStorage
:
<full-backup-content> <include domaine="sharedpref" chemin="."/>[19659025]<exclude domain="sharedpref" path="${applicationId}.xamarinessentials .xml"/> </full-backup-content>
📘 Sur UWP : Aucune configuration supplémentaire requise.[19659069]Commençons !
Qu'est-ce que le stockage sécurisé ? 🤔
La classe SecureStorage permet de stocker en toute sécurité des paires clé/valeur simples.
📬 Configuration du stockage sécurisé
Pour définir une valeur, il vous suffit d'appeler la classe SecureStorage suivie de la méthode SetAsync. Cette méthode stocke les valeurs chiffrées pour une clé donnée. Il prend les paramètres suivants :
🔹 Nom de la clé : Il reçoit le nom avec lequel vous souhaitez que les données soient identifiées.
🔹 Valeur de la clé : Il reçoit la valeur avec laquelle vous souhaitez enregistrer la clé précédemment enregistrée.
await SecureStorage.SetAsync("oauth_token", "secret-oauth-token -value");
📫 Obtenir des valeurs à partir du stockage sécurisé
Pour récupérer une valeur à partir du stockage sécurisé, utilisez la méthode GetAsync. Il prend les paramètres suivants :
🔹 Nom de la clé : Reçoit le nom de la clé dont vous souhaitez obtenir la valeur. (⚠ S'il n'y a pas de valeur avec cette clé, elle renverra un null.)
var oauthToken = await SecureStorage.[19659077]GetAsync("oauth_token");
📭 Suppression d'une clé de magasin sécurisé spécifique
➖ Pour supprimer une clé spécifique : Il vous suffit de indiquez le nom de la clé que vous souhaitez supprimer.
SecureStorage.Remove("oauth_token");
➖ Pour tout supprimer :
SecureStorage.RemoveAll();
⚠ Important : Lorsque vous l'utilisez, essayez de gérer de petites quantités de texte ; sinon les performances peuvent ralentir.
Et c'est fait ! Vous pouvez maintenant utiliser le stockage sécurisé ! 💪🏼
Merci de m'avoir lu ! 💚
Références : https://docs.microsoft.com/en-us/xamarin/essentials/secure-storage?tabs=ios
Source link