Johan Ouwerkerk
1292fc749b
Make flatpak build again by copying a patch from Arch
...
Previously the flatpak would fail to build against a recent glib.c because fseeko.c was broken. Now it should be fixed.
2019-09-13 15:47:41 +02:00
Johan Ouwerkerk
b4b8b2d25c
Download oath-toolkit over HTTPS
...
This is a bit more secure against supply chain attacks because MITM is no longer trivial
2019-09-13 15:46:47 +02:00
Johan Ouwerkerk
4fe0d069cd
Add a test to check the TOTP implementation can (at least) generate the values from the RFC test vector correctly.
2019-09-11 09:40:44 +02:00
Johan Ouwerkerk
3a4df16a1c
Make the 'clock' an injectable dependency via the Account constructor.
...
In this way we can fake the current date/time during tests, making it possible to reliably test TOTP and derivative type tokens.
2019-09-11 09:40:44 +02:00
Johan Ouwerkerk
2d147e2427
Add a test to check the HOTP implementation can (at least) generate the values from the RFC test vector correctly.
2019-09-11 09:40:44 +02:00
Johan Ouwerkerk
750025f05c
Fixup Account to make sure all HOTP/TOTP algorithm properties are properly initialised by the constructor.
2019-09-11 09:40:44 +02:00
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
6d7c56f94b
Add autotests for validating the new base32 decoding utilities.
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
Johan Ouwerkerk
4cb92b80df
Enable C++17, and use 'standard' CMake features for doing so.
2019-09-09 11:20:32 +02:00
Bhushan Shah
03eff09a38
update readme file [skip ci]
2019-03-25 19:39:43 +05:30
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
eeb56908ba
Add pipeline status badge in the readme
2019-03-25 03:34:58 +05:30
Bhushan Shah
4167771636
Add license file [skip ci]
2019-03-25 03:32:29 +05:30
Bhushan Shah
8212bdc1c9
Add gitlab ci configuration to build the flatpak package
2019-03-25 03:01:15 +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