Authenticator-Extension / Authenticator-Extension/Authenticator

Paypal QR code gives wrong secret

Aperta
#498 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
4.7k
Fork
1.2k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Sort of thread necro, but then again I provide a workaround:
Yes the issue is real and it seems to be with PayPal.

1) If I scan the code with a different **offline** QR reader I got a 75 byte TOTP string.
2) Using an **offline** QR generator I got a working code working perfectly in the Authenticator.
3) The codes look completely different.

I suspect PayPal uses a QR library that doesn't check properly for the best mask pattern:
https://en.wikipedia.org/wiki/File:QR_Code_Mask_Patterns.svg

Using bad mask patterns creates noise in some readers, making it hard for the Authenticator extension.

However Aegis authenticator on Android (zxing java) can read PayPal codes just fine, but given how hard it can be to find a decent JS library (zxiing js) I guess there is not much we can do.

Unless the developer here wants to switch:
NPM: https://www.npmjs.com/package/@zxing/library
Demo: https://zxing-js.github.io/library/examples/qr-image/
Github: https://github.com/zxing-js/library

FLOSS ready MIT license.

_Originally posted by @vaporwave9 in https://github.com/Authenticator-Extension/Authenticator/issues/371#issuecomment-642637733_

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia individuando il percorso di decodifica QR nell’estensione Authenticator e riproduci il malfunzionamento del codice QR PayPal. Confronta il decoder attuale con la @zxing/library indicata e verifica il risultato con codici PayPal e un lettore QR offline; il lavoro è completato quando il secret viene decodificato correttamente senza interrompere le importazioni QR esistenti.

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

Valutazione

Stack tecnologico
javascript, typescript
Ambito
authentication, security
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.