Nous travaillons sur une application iOS qui utilise Google pour s'authentifier avec Firebase. Selon Firebase, les jetons auth expirent toutes les 24 heures. On se demande si le scénario suivant est quelque chose que nous devons considérer:Réauthentification Firebase requise
- utilisateur authentifie avec Google et Firebase
- Notre application reçoit un jeton d'authentification Firebase qui expire dans 24 heures
- utilisateur ferme notre application iOS
- 1 minute avant l'expiration du jeton d'authentification Firebase, l'utilisateur rouvre l'application
- Une minute plus tard, nous envoyons une demande à Firebase. Le jeton d'authentification a expiré.
Il semble que nous devions nous réauthentifier avec Firebase en observant les changements d'authentification par https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication. Mais devra-t-on réémettre la même requête à Firebase à partir du numéro 5 ci-dessus? il semble aussi que nous pourrions réauthentifier dans le cancelBlock:
[ref observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value);
} withCancelBlock:^(NSError *error) {
NSLog(@"%@", error.description);
// reauthenticate and then re-issue request?
}];
Ce ne serait pas idéal parce que nous devrions écrire ce code partout où nous faisons une demande.
Quelles sont les meilleures pratiques pour gérer ce scénario? Est-ce que Firebase actualise automatiquement le jeton d'authentification lorsqu'il est proche de l'expiration?
Remarque: la valeur par défaut est 24 heures mais vous pouvez la modifier sous l'onglet Connexion et authentification sous Durée de la session – sjm
. Cependant, indépendamment de l'intervalle, la question est de savoir s'il y aura un moment où le jeton google oauth est valide mais le jeton firebase expire. Nos expériences avec le délai d'attente de 30 secondes Firebase semblent indiquer que nous devons actualiser manuellement les jetons auth Firebase – vjy
Vous devez actualiser manuellement le jeton Auth. Vous pouvez surveiller [.info/authentifié] (https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication) pour détecter l'état de changement - une meilleure réponse que l'annulation rappeler. – Kato