Commit Graph

49 Commits

Author SHA1 Message Date
Christoph Wurst 2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
Morris Jobke a5853d7ecc
Use dispatchTyped instead of dispatch on the new event dispatcher
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-18 20:27:46 +02:00
Morris Jobke 234b510652
Change PHPDoc type hint from PHPUnit_Framework_MockObject_MockObject to \PHPUnit\Framework\MockObject\MockObject
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-12 13:55:19 +02:00
Morris Jobke 49f33ee632
Fix risky test in twofactor_backupcodes
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-23 14:32:58 +02:00
Christoph Wurst cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst afbd9c4e6e
Unify function spacing to PSR2 recommendation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +02:00
Christoph Wurst 2fbad1ed72
Fix (array) indent style to always use one tab
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 10:16:08 +02:00
Christoph Wurst 1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Christoph Wurst 2ee65f177e
Use the shorter phpunit syntax for mocked return values
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:21:27 +01:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma 3a7cf40aaa
Mode to modern phpunit
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-27 15:27:18 +01:00
Roeland Jago Douma c007ca624f
Make phpunit8 compatible
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-27 13:34:41 +01:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Roeland Jago Douma d878130fb2
Only human readbale backup chars
Fixes #14811
Only use humand readable chars (so no I and 1 etc)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-22 12:25:39 +02:00
Arthur Schiwon e8095cf737
use OCP\EventDispatcher\Event over Symfony's deprecated Event
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-10-17 13:31:48 +02:00
Roeland Jago Douma 50ab20c22c
Remove leftover unit test
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-09-14 13:38:18 +02:00
Jan-Christoph Borchardt 51517d3a36
Add icon to twofactor_backupcodes notification
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2019-07-16 12:35:20 +02:00
Christoph Wurst 3174012adf Add event dispatcher to OCP
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-06-25 10:02:27 +02:00
Roeland Jago Douma 3d17ab0936
Do not send notification if no active 2fa
If the job is still present we should also not fire it off if there is
not a single active 2FA provider.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-05 20:21:37 +01:00
Roeland Jago Douma 1c29a01956
Clear backupcodes reminder if no 2FA is enabled
Fixes #14125

Listen to 2FA disable event. If a provider is disabled for a user. We
check if there are no more providers. If there are no more providers we
Remove the backupcode reminder notification (if still present).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-05 20:14:16 +01:00
Joas Schilling 01f4506dad
Add a link to the notification to create the backup codes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-11 15:32:34 +01:00
Roeland Jago Douma f30877ea7c
Provide initial state
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-29 22:21:54 +01:00
Roeland Jago Douma da7dd24378
Switch to OCP background jobs
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-14 20:09:12 +01:00
Roeland Jago Douma 36bf522c8b
Add job to check users for backup code reminders
Now that we can enforce 2FA we also should notify users that have
enabled 2FA but do not yet have backup codes generated.

This adds a repair step that inserts a background job to do this.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-02 20:41:56 +02:00
Roeland Jago Douma c557314262
Clear notification to generate backup code once codes are generated
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-01 15:35:25 +02:00
Roeland Jago Douma 956fe1b867
Generate backups code notification if not enable but 2fa is
Generate a notification to generate backup codes if you enable an other
2FA provider but backup codes are not yet generated.

* Add event listner
* Insert background job
* Background job tests and emits notification every 2 weeks
* If the backup codes are generated the next run will remove the job

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-01 15:35:25 +02:00
Christoph Wurst 2f34df4982
Fix integration test execution on Dron
Apparently the Nextcloud server ignores tests that have `Integration` in their
fully-qualified class name, hence the backup codes integration tests were removed.
This moves them up one directory (out of `Integration`) to fix that.
Real unit tests remain in the `Unit` directory.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-08-21 09:09:15 +02:00
Christoph Wurst 42035cab9d
Add an integration test that inserts long back codes values
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-08-21 06:49:26 +02:00
Christoph Wurst f8fe7488a5
Fix state propragation of the backup codes provider
Starting with Nextcloud 14, the server knows the enabled/disabled
state of 2fa providers. While it will query that information if it's
unknown (on first use), it won't notice any changes. Thus, providers
have to propagate that information themselves.

Ref https://github.com/nextcloud/twofactor_totp/pull/263
Ref https://github.com/nextcloud/twofactor_u2f/pull/210

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-08-01 21:21:30 +02:00
Joas Schilling 870023365c
Fix "Undefined method setExpectedException()"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-24 18:10:16 +01:00
Joas Schilling ca3a6ec607
Fix tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-20 14:25:24 +02:00
Christoph Wurst 258c8720dd
Fix backup codes activity type
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-05-18 22:10:57 +02:00
Christoph Wurst 1632bb4557
Move activities test code
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-05-18 22:10:57 +02:00
Christoph Wurst d8b3fe460e
Hide 2FA backup codes if no other 2FA providers are enabled
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-05-02 14:40:44 +02:00
Christoph Wurst 85e4febc24 ignore code we're unable to test
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-18 17:53:58 +01:00
Christoph Wurst 3b4b49fa95 test activity provider
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-18 17:53:58 +01:00
Christoph Wurst 6f6eb5b301 increase GenericProvider's test coverage
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-18 17:53:58 +01:00
Christoph Wurst 6726c98bbd
use constant and clean up unit test
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-16 13:14:15 +01:00
Christoph Wurst 3b76699c9c
Increase 2fa backup codes entropy
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-16 11:24:03 +01:00
Christoph Wurst ed4017dfb4
fix minor issues
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2016-12-19 11:59:48 +01:00
Christoph Wurst 9300312046
push activity when backup codes are generated
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2016-12-19 11:59:47 +01:00
Christoph Wurst 7ae9442f3d
Publish, parse and filter 2FA activities
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2016-12-19 11:59:47 +01:00
Joas Schilling b2d9c20aac
Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-18 12:10:51 +01:00
Christoph Wurst f27b7fa8d1
Do not use underscores in PSR4 namespaces of the backup codes app
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2016-10-03 21:47:33 +02:00
Joas Schilling 6ac2b8d83f
Fix twofactor_backupcodes 2016-09-12 16:48:11 +02:00
Joas Schilling 60c22dd074
Fix more sniffing 2016-09-12 16:48:11 +02:00
Roeland Jago Douma 680b557a4b
Fix apps warnings 2016-09-07 20:42:38 +02:00
Christoph Wurst 8acb734854
add 2fa backup codes app
* add backup codes app unit tests
* add integration tests for the backup codes app
2016-09-05 08:51:13 +02:00