Commit graph

30 commits

Author SHA1 Message Date
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