Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

AuthActivity with Firefox's "Tab queue" turned on cancels login flow

Aperta
#242 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
android, java

Direzione di ricerca

Inizia in src/main/java/com/dropbox/core/android/AuthActivity.java intorno a onResume(), alla riga indicata, e segui come la seconda ripresa chiama authFinished(null) e cancella lo stato. Riproduci il problema con Android 7.1.1 e Firefox Tab Queue abilitato, quindi verifica che il ritorno dal login del browser accodato associ ancora il login completato all’app client invece di trattarlo come annullato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

SDK version: 3.0.8
Android Version: 7.1.1 (didn't test on other versions)

On Android, Firefox's Tab Queue feature causes the web browser login flow to not work due to SDK's AuthActivity treating the login flow as cancelled before user runs the login flow.

Repro Steps:

  1. Set Firefox as default Browser for Android.
  2. In Firefox go to Settings -> General -> Turn on "Tab queue" (which requires grating access Firefox to draw over apps, Settings link should show in Firefox when turning this on for the first time).
  3. Invoke SDK's AuthActivity from client app with no Dropbox app installed (to invoke browser flow) which causes AuthActivity to request Android to launch the login flow URL in a web browser which launches the Firefox browser to open the login flow URL.
  4. Due to Firefox's "Tab queue" feature, Firefox opens the login flow URL internally but does NOT show it to the user. Instead it returns right away causing AuthActivity in client app to show again while also showing a Toast like UI from Firefox to open the queued URL.
  5. User then opens the login flow with the Firefox Tab queue Toast UI which then does show the login flow URL in Firefox now.
  6. When user completes login flow in Firefox the web login flow navigates back to client application.
  7. Client app's AuthActivity when navigated back does nothing because the Dropbox SDK has no token associated with the completed login flow.

The reason for having no token in the Dropbox SDK in step 7 is because in Step 4 when Firefox navigates back to the client app, the Dropbox SDK handles this as a cancelled login attempt and wipes its internal state (same would happen if user task switches back to client app while on Login flow in browser). This logic can be seen in https://github.com/dropbox/dropbox-sdk-java/blob/c710ef80f1c2700031baad7c615dc9934162c090/src/main/java/com/dropbox/core/android/AuthActivity.java#L412 (onResume() will be called for the second time when Firefox navigates back to client app while mAuthStateNonce is non null -> authFinished(null))

For now I'm advising users who report this to simply turn off Firefox's "Tab Queue" feature or install Dropbox however it would be ideal if this just worked for users.

Lingua principale
Java
Stelle
627
Fork
463
Merge medio
14h 20m
PR unite (30g)
12

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dropbox/dropbox-sdk-java

Tutte le issue di dropbox/dropbox-sdk-java

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.