Browse Source

Fix 2fa for iOS Google authenticator (#486)

pull/523/head
LouisLam 3 years ago
parent
commit
b246c8e0f2
  1. 6
      server/server.js

6
server/server.js

@ -303,6 +303,12 @@ exports.entryPage = "dashboard";
if (user.twofa_status == 0) { if (user.twofa_status == 0) {
let newSecret = await genSecret(); let newSecret = await genSecret();
let encodedSecret = base32.encode(newSecret); let encodedSecret = base32.encode(newSecret);
// Google authenticator doesn't like equal signs
// The fix is found at https://github.com/guyht/notp
// Related issue: https://github.com/louislam/uptime-kuma/issues/486
encodedSecret = encodedSecret.toString().replace(/=/g, "");
let uri = `otpauth://totp/Uptime%20Kuma:${user.username}?secret=${encodedSecret}`; let uri = `otpauth://totp/Uptime%20Kuma:${user.username}?secret=${encodedSecret}`;
await R.exec("UPDATE `user` SET twofa_secret = ? WHERE id = ? ", [ await R.exec("UPDATE `user` SET twofa_secret = ? WHERE id = ? ", [

Loading…
Cancel
Save