Stiamo lavorando su un'app iOS che sta utilizzando Google per l'autenticazione con Firebase. Secondo https://www.firebase.com/docs/ios/guide/user-auth.html#section-login Firebase dice che i token di autenticazione scadono ogni 24 ore. Ci chiediamo se il seguente scenario è qualcosa che dobbiamo considerare:Richiesto ri-autenticazione Firebase
- utente si autentica con Google e Firebase
- La nostra applicazione ottiene un token di autenticazione Firebase che scade in 24 ore
- utente chiude la nostra app iOS
- 1 minuto prima della scadenza del token di autenticazione di Firebase, l'utente riapre l'app
- Un minuto dopo viene inoltrata una richiesta a Firebase. Il token di autenticazione è scaduto.
Sembra che dobbiamo riconfigurare con Firebase osservando le modifiche di autenticazione per https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication. Ma dovremo riemettere la stessa richiesta a Firebase dalla # 5 sopra? Inoltre sembra che potremmo ripetere l'autenticazione nel cancelBlock:
[ref observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value);
} withCancelBlock:^(NSError *error) {
NSLog(@"%@", error.description);
// reauthenticate and then re-issue request?
}];
Questo non sarebbe l'ideale, perché avremmo dovuto scrivere questo codice in tutto il mondo che facciamo una richiesta.
Quali sono le migliori pratiche per affrontare questo scenario? Firebase aggiorna automaticamente il token di autenticazione quando è prossimo alla scadenza?
Nota: il valore predefinito è 24 ore, ma è possibile modificarlo nella scheda Login e autenticazione in Lunghezza sessione – sjm
Che è corretto. Tuttavia, indipendentemente dall'intervallo, la domanda è se ci sarà un punto nel tempo in cui il token google oauth è valido ma il token firebase scade. I nostri esperimenti con timeout di Firebase di 30 secondi sembrano indicare che dobbiamo aggiornare manualmente i token di autorizzazione di Firebase – vjy
È necessario aggiornare manualmente il token di autenticazione. È possibile monitorare [.info/authenticated] (https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication) per rilevare lo stato di modifica - una risposta migliore rispetto all'annullamento richiama. – Kato