Fiche 09.03
Fiche 09.03 — Keychain pour tokens
Objectif
Comprendre pourquoi et comment stocker les tokens d’authentification dans le Keychain.
Le Keychain est l’endroit adapté pour les données sensibles côté iOS.
1. Pourquoi le Keychain ?
Quand une API REST renvoie un accessToken et un refreshToken, il faut les conserver pour garder l’utilisateur connecté.
Mauvaise idée :
Swift
Bonne idée :
Texte
2. Créer un service Keychain simple
En vrai projet, tu peux utiliser une librairie ou encapsuler l’API Keychain dans un service.
Swift
Ce code est volontairement simple pour comprendre le principe.
3. Centraliser les clés
Swift
Utilisation :
Swift
4. Exemple dans un AuthService
Swift
Le ViewModel n’a pas besoin de connaître les détails du Keychain.
5. Flux classique avec tokens
Texte
Points à connaître
Le Keychain est plus verbeux que UserDefaults, mais il est fait pour les secrets.
Dans une app professionnelle, tu peux utiliser une petite librairie Keychain ou un wrapper interne déjà fourni par l’équipe.
Résumé
- Les tokens ne vont jamais dans UserDefaults.
- Le Keychain sert aux données sensibles.
- Il faut encapsuler le Keychain dans un service.
- Au logout, les tokens doivent être supprimés.
- Le reste de l’app doit passer par un
AuthTokenStoreou unAuthService.