RobThree / TwoFactorAuth

PHP library for Two Factor Authentication (TFA / 2FA)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Andere code in "Google Authenticator" app

J3Sta216 opened this issue · comments

Ha Rob,

Ik probeer jouw TwoFactorAuth te gebruiken. Ik krijg een QR-code die scan in met de app "Google Authenticator" maar op het moment dat ik $tfa->getCode($secret); doe krijg ik een andere code te zien dan op mijn app. Op mijn server is NTP enabled. Enig idee wat hier fout gaat?

Mvg,
Jeroen

Op mijn server is NTP enabled.

Maar de tijd is ook gecontroleerd en correct? Tijdzone is ook correct ingesteld?

We hebben twee tijden, "server tijd" en "code tijd", server tijdzone staat op Etc/UTC (UTC, +0000) maar de "code tijd" staat wel juist ingesteld, dus op het moment dat ik echo time(); doe krijg ik de juiste tijd terug, als ik $code = $tfa->getCode($secret, time());of $code = $tfa->getCode($secret); doe, maakt dit geen verschil.

dus op het moment dat ik echo time(); doe krijg ik de juiste tijd terug

Dat is dan dus UTC tijd? M.a.w.: op het moment is het UTC 15:59, ofwel 16:59 onze tijd (output van time() is op het moment van schrijven 1485878370). Dat klopt als je de output van time() door, zeg, http://www.epochconverter.com/ haalt?

Want je zegt:

We hebben twee tijden, "server tijd" en "code tijd"

dus op het moment dat ik echo time(); doe krijg ik de juiste tijd terug,

Definieer "juiste tijd"; ik kan hier niet uit halen wat je onder "juiste tijd" verstaat: Nederlandse tijd of UTC? De time() functie moet altijd UTC geven; krijg je geen UTC maar Nederlandse tijd dan zit dáár je probleem.

Bedankt voor de informatie, het is gelukt, ik moest inderdaad de time() functie een uur terug zetten.

Je kunt vanaf nu de ensureCorrectTime() methode aanroepen om te controleren of de juiste tijd gebruikt wordt. Zie ook Time providers in de README