Authenticator-Extension / Authenticator-Extension/Authenticator
Authenticator suddenly stopped working
- Dominant language
- TypeScript
- Stars
- 4.7k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the issue

**Figure 1**. Visit the [ChesslaBlab](https://github.com/chesslablab/website) website and click on **Sign In**

**Figure 2**. Click on the **Extensions** icon and select **Authenticator**

**Figure 3**. Type the username and password and click on **Sign In**
It seems as if the TOTP sign in task in [src/Command/Auth/Blocking/TotpSignInTask.php](https://github.com/chesslablab/chess-server/blob/main/src/Command/Auth/Blocking/TotpSignInTask.php) is not working as expected with the newest Chrome update.
```php
env['totp']['secret'], new InternalClock());
$otp->setDigits(9);
if ($otp->verify($this->params['password'], null, 5)) {
$sql = "SELECT * FROM users WHERE username = :username";
$values[] = [
'param' => ":username",
'value' => $this->params['username'],
'type' => \PDO::PARAM_STR,
];
$arr = $this->db->query($sql, $values)->fetch(\PDO::FETCH_ASSOC);
$sql = "UPDATE users SET lastLoginAt = now() WHERE username = :username";
$values[] = [
'param' => ":username",
'value' => $this->params['username'],
'type' => \PDO::PARAM_STR,
];
$this->db->query($sql, $values);
$payload = [
'iss' => $this->env['jwt']['iss'],
'iat' => time(),
'exp' => time() + 3600, // one hour by default
'username' => $arr['username'],
'elo' => $arr['elo'],
];
return [
'access_token' => JWT::encode($payload, $this->env['jwt']['secret'], 'HS256'),
];
}
return null;
}
}
```
The chess server will always return null as if the otp cannot be verified for some reason. However, this exact same use case is working like a charm with FreeOTP.
🙏 Any help will be much appreciated!
### Browser
Chrome
### Browser Version
134.0.6998.35 (Official Build) (64-bit)
### Extension Version
8.0.1
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.