Commit Graph

159 Commits (master)

Author SHA1 Message Date
Johan Ouwerkerk 960c96bb90 Minimal refactoring to move Account away from its previous base32 decoding implementation. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 71180195e6 Add dedicated base32 helper utilities in its own namespace. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 4f4d1c93f8 Fixup: add license information to oath_p.h 2019-09-11 09:40:27 +02:00
Johan Ouwerkerk d372ba2a74 Create a 'private' header for interfacing with the oath library that does the C interop stuff. 2019-09-09 11:26:09 +02:00
Bhushan Shah 24457c878a Remove the leftover code to migrate config format 2019-03-25 19:31:48 +05:30
Bhushan Shah 5a1d26e3b8 Add animation for showing and timeout 2019-03-25 19:30:45 +05:30
Bhushan Shah 75e171a11a Show refresh button only if type is the HOTP 2019-03-25 17:50:05 +05:30
Bhushan Shah 2b013ac8c9 Use model.roleName instead of the roleName
This seems to workaround the issue with the Kirigami, and makes OTP
refresh correctly. Now it is actually usable :)
2019-03-25 17:19:34 +05:30
Bhushan Shah 8819d205f9 Initial code for OTP client
It uses the oath-toolkit[1] provided library liboath to generate the 2FA
codes, both TOTP and HOTP based. Currently it is largely untested. From
initial rough testing it seems that auto-refreshing of code is not
working. Also button to refresh token for HOTP is also dummy at moment.

Some todo items include,

- Verify the generated oath code is correct
- Make refreshing token work
- QR code scanning
- Backup and Restore of accounts
- Clipboard support to automatically copy code.
- Encrypted storage of the secret token

This code is largely based on the authenticator-ng[2] application by the
Rodney Dawes and Michael Zanetti for the Ubuntu Touch.

[1] https://www.nongnu.org/oath-toolkit/
[2] https://github.com/dobey/authenticator-ng
2019-03-25 02:58:56 +05:30