Lukas Reschke
0bccd5a0d9
Fix "Uninitialized string offset: 0 at \/media\/psf\/stable9\/lib\/private\/URLGenerator.php#224"
...
The URLGenerator doesn't support `` as target for absolute URLs, we need to link to `/` thus.
Regression introduced with https://github.com/nextcloud/server/commit/46229a00f39e507249dbe3ceb7507277da3fa4f8
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-09-07 08:34:02 +02:00
Morris Jobke
504c1abee0
Fix undefined index oauthState
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de >
2017-09-06 16:38:24 +02:00
Morris Jobke
15cd21d252
Merge pull request #6358 from nextcloud/fix-mixup-of-id-and-name
...
Set the meta data before everything
2017-09-05 16:08:57 +02:00
Joas Schilling
6dbb64c4a2
Merge setMetaData into constructor
...
This ensures that the meta data is set in the beginning
Signed-off-by: Joas Schilling <coding@schilljs.com >
2017-09-04 15:07:41 +02:00
Morris Jobke
30ca3b70ed
Merge pull request #6196 from nextcloud/downstream-26539-2
...
Handle invalid ext storage backend to keep mount point visible
2017-09-04 14:17:28 +02:00
Morris Jobke
0326c2c54f
Fix broken tests
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de >
2017-09-04 14:17:03 +02:00
Julius Härtl
46229a00f3
Add rich link preview to the login page
...
Signed-off-by: Julius Härtl <jus@bitgrid.net >
2017-09-02 21:39:38 +02:00
Joas Schilling
0aff1c9268
Return the user id in case of an error
...
Signed-off-by: Joas Schilling <coding@schilljs.com >
2017-08-29 11:10:30 +02:00
Morris Jobke
2bf15eda26
Merge pull request #6255 from nextcloud/email-meta-data
...
Add meta information to emails for better customisation
2017-08-26 18:53:52 +02:00
Morris Jobke
0b652648cc
Merge pull request #6177 from nextcloud/properly-add-slo-url
...
Properly allow \OCP\Authentication\IApacheBackend to specify logout URL
2017-08-26 18:50:52 +02:00
Christoph Wurst
6676232a56
Allow 2FA providers to specify their custom CSP
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at >
2017-08-26 13:48:08 +02:00
Joas Schilling
6a130d01e7
Also for reset password
...
Signed-off-by: Joas Schilling <coding@schilljs.com >
2017-08-24 18:02:37 +02:00
Lukas Reschke
2e4cd44556
Inject \OCP\IURLGenerator to make tests work
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-08-18 15:32:40 +02:00
Joas Schilling
d5c6d56170
No password reset for disabled users
...
Signed-off-by: Joas Schilling <coding@schilljs.com >
2017-08-18 13:21:53 +02:00
Lukas Reschke
a04feff9a7
Properly allow \OCP\Authentication\IApacheBackend to specify logout URL
...
Any `\OCP\Authentication\IApacheBackend` previously had to implement `getLogoutAttribute` which returns a string.
This string is directly injected into the logout `<a>` tag, so returning something like `href="foo"` would result
in `<a href="foo">`.
This is rather error prone and also in Nextcloud 12 broken as the logout entry has been moved with
054e161eb5 inside the navigation manager where one cannot simply inject attributes.
Thus this feature is broken in Nextcloud 12 which effectively leads to the bug described at nextcloud/user_saml#112 ,
people cannot logout anymore when using SAML using SLO. Basically in case of SAML you have a SLO url which redirects
you to the IdP and properly logs you out there as well.
Instead of monkey patching the Navigation manager I decided to instead change `\OCP\Authentication\IApacheBackend` to
use `\OCP\Authentication\IApacheBackend::getLogoutUrl` instead where it can return a string with the appropriate logout
URL. Since this functionality is only prominently used in the SAML plugin. Any custom app would need a small change but
I'm not aware of any and there's simply no way to fix this properly otherwise.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-08-18 12:22:44 +02:00
Morris Jobke
84c22fdeef
Merge pull request #5907 from nextcloud/add-metadata-to-throttle-call
...
Add metadata to \OCP\AppFramework\Http\Response::throttle
2017-08-01 14:43:47 +02:00
Roeland Jago Douma
75771a108b
Fix OCSController
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl >
2017-08-01 08:20:15 +02:00
Roeland Jago Douma
e945f2bc3a
Fix ContactsMenuController
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl >
2017-08-01 08:20:15 +02:00
Roeland Jago Douma
aa6d8fcdbf
Fix AvatarController
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl >
2017-08-01 08:20:15 +02:00
Lukas Reschke
f22ab3e665
Add metadata to \OCP\AppFramework\Http\Response::throttle
...
Fixes https://github.com/nextcloud/server/issues/5891
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-07-27 14:17:45 +02:00
Morris Jobke
188b87e03b
Cleanup legacy user class from unused methods
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de >
2017-07-24 12:17:53 +02:00
Julius Härtl
51a0741005
Add public capabilities API
...
Signed-off-by: Julius Härtl <jus@bitgrid.net >
2017-06-30 11:08:04 +02:00
Lukas Reschke
2f87fb6b45
Add Clear-Site-Data header
...
This adds a Clear-Site-Data header to the logout response which will delete all relevant data in the caches which may contain potentially sensitive content.
See https://w3c.github.io/webappsec-clear-site-data/#header for the definition of the types.
Ref https://twitter.com/mikewest/status/877149667909406723
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-06-20 19:46:10 +02:00
Lukas Reschke
26ee889fec
Add tests for ClientFlowLoginController
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-05-18 20:49:08 +02:00
Lukas Reschke
b07a0f51ba
Add OAuth state to session
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-05-18 20:49:08 +02:00
Bjoern Schiessle
23b296b66e
use name of oauth app to identify auth token
...
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org >
2017-05-18 20:49:07 +02:00
Bjoern Schiessle
a74d67b69c
show error page if no valid client identifier is given and if it is not a API request
...
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org >
2017-05-18 20:49:06 +02:00
Lukas Reschke
e86749121c
Remove special characters
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-05-18 20:49:05 +02:00
Lukas Reschke
5f71805c35
Add basic implementation for OAuth 2.0 Authorization Code Flow
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-05-18 20:49:03 +02:00
Joas Schilling
0828df5ed4
Disable the API endpoints as well
...
Signed-off-by: Joas Schilling <coding@schilljs.com >
2017-05-11 17:03:57 +02:00
Ujjwal Bhardwaj
7c23414eef
Disable reset password link. Issue: #27440
2017-05-11 10:27:33 +02:00
Joas Schilling
d418ea550b
Automatic injection for CssController
...
Signed-off-by: Joas Schilling <coding@schilljs.com >
2017-05-10 09:42:40 +02:00
Joas Schilling
9c8fe82000
Automatic injection for JsController
...
Signed-off-by: Joas Schilling <coding@schilljs.com >
2017-05-10 09:42:15 +02:00
Mario Danic
e4aac15a92
Update login flow redirection
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-05-04 19:21:22 +02:00
Morris Jobke
23cc309606
Handle more error cases
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de >
2017-05-02 13:43:48 +02:00
Georg Ehrke
60f9ed6241
add contactsmenu popover
...
Signed-off-by: Georg Ehrke <developer@georgehrke.com >
2017-04-26 09:26:53 +02:00
Jan-Christoph Borchardt
241e397326
Merge branch 'master' into contactsmenu
...
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net >
2017-04-26 00:50:38 +02:00
Christoph Wurst
36cee1f386
Let apps register contact menu provider via info.xml
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at >
2017-04-25 20:47:17 +02:00
Christoph Wurst
d091793ceb
Contacts menu
...
* load list of contacts from the server
* show last message of each contact
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at >
2017-04-25 20:47:17 +02:00
Roeland Jago Douma
aae079aa29
AppToken to 72 chars
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl >
2017-04-25 20:18:49 +02:00
Roeland Jago Douma
bb5e5efa6d
Do not remove the state token to early
...
we should check the stateToken before we remove it. Else the check will
always fail.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl >
2017-04-25 20:18:49 +02:00
Lukas Reschke
6a16df7288
Add new auth flow
...
This implements the basics for the new app-password based authentication flow for our clients.
The current implementation tries to keep it as simple as possible and works the following way:
1. Unauthenticated client opens `/index.php/login/flow`
2. User will be asked whether they want to grant access to the client
3. If accepted the user has the chance to do so using existing App Token or automatically generate an app password.
If the user chooses to use an existing app token then that one will simply be redirected to the `nc://` protocol handler.
While we can improve on that in the future, I think keeping this smaller at the moment has its advantages. Also, in the
near future we have to think about an automatic migration endpoint so there's that anyways :-)
If the user chooses to use the regular login the following happens:
1. A session state token is written to the session
2. User is redirected to the login page
3. If successfully authenticated they will be redirected to a page redirecting to the POST controller
4. The POST controller will check if the CSRF token as well as the state token is correct, if yes the user will be redirected to the `nc://` protocol handler.
This approach is quite simple but also allows to be extended in the future. One could for example allow external websites to consume this authentication endpoint as well.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-04-25 20:18:49 +02:00
Christoph Wurst
bb1d191f82
Fix remember redirect_url on failed login attempts
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at >
2017-04-25 09:38:19 +02:00
Joas Schilling
3d671cc536
Merge pull request #4443 from nextcloud/cleanup-unused-imports
...
Remove unused use statements
2017-04-24 11:47:37 +02:00
Lukas Reschke
8a1d3c7e87
Merge pull request #4434 from nextcloud/add-rate-limiting-to-solve-challenge-controller
...
Add rate limit to TOTP solve challenge controller
2017-04-24 10:03:19 +02:00
Morris Jobke
c54a59d51e
Remove unused use statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de >
2017-04-22 19:23:31 -05:00
Lukas Reschke
d0d34d308a
Add at most 10 password reset requests per 5 minutes and IP range
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-04-22 08:12:54 +02:00
Lukas Reschke
c1b8f152d8
Add rate limit to TOTP solve challenge controller
...
Fixes https://github.com/nextcloud/server/issues/2626
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-04-22 07:59:40 +02:00
Morris Jobke
16c4755e03
Rename renderHTML to renderHtml
...
* fixes #4383
* improves consistency
Signed-off-by: Morris Jobke <hey@morrisjobke.de >
2017-04-19 15:46:41 -05:00
Lukas Reschke
727688ebd9
Adjust existing bruteforce protection code
...
- Moves code to annotation
- Adds the `throttle()` call on the responses on existing annotations
Signed-off-by: Lukas Reschke <lukas@statuscode.ch >
2017-04-14 13:42:40 +02:00