Fiche 07.05 — Auth REST propriétaire : login, token, refresh, logout
Objectif
Comprendre comment fonctionne une authentification propriétaire via API REST côté app iOS : login, register, access token, refresh token, stockage Keychain, refresh et logout.
1. Firebase Auth vs auth propriétaire
Avec Firebase Auth, tu utilises le SDK Firebase.
Avec une API propriétaire, ton app parle au backend avec HTTP :
Donc tu utilises URLSession ou Alamofire.
2. Access token et refresh token
L’access token expire vite. Le refresh token dure souvent plus longtemps.
Les tokens ne doivent pas être stockés dans UserDefaults ou AppStorage. On utilise Keychain.
3. Modèles
4. AuthService
Implémentation simplifiée :
L’exemple montre surtout le flux. En pratique, l’API exacte dépend du backend.
5. AuthState global
L’app doit savoir si l’utilisateur est connecté.
6. Redirection dans AppRootView
Le root décide quel flow afficher.
7. Refresh token en principe
Quand une requête renvoie 401 Unauthorized :
Tu n’as pas besoin de connaître toutes les variantes, mais il faut comprendre cette logique.
8. Discours entretien
Tu peux dire :
“J’ai surtout utilisé Firebase Auth. Pour une auth propriétaire, côté iOS le principe est clair : appels REST via URLSession ou Alamofire, récupération des tokens, stockage Keychain, AuthState global, refresh token et logout propre.”
Résumé
- Une auth propriétaire passe par une API REST.
- L’app reçoit souvent un access token et un refresh token.
- Les tokens doivent être stockés dans Keychain.
- L’access token sert aux requêtes privées.
- Le refresh token permet de renouveler la session.
AuthStatepermet de piloter login/app principale/logout.