Commit Graph

165 Commits

Author SHA1 Message Date
David Christofas dfe703291f replace strings.Title with cases.Title 2022-08-22 15:26:00 +02:00
David Christofas 12d42e0074 add missing comments 2022-08-22 14:24:12 +02:00
David Christofas b5ef10dc2b add missing comments and changelog 2022-08-16 16:53:27 +02:00
David Christofas 3f25ca2059 add unprotected path prefix for parallel deployment 2022-08-16 15:45:22 +02:00
David Christofas 905ead629c add unprotected path prefix for external apps 2022-08-16 15:16:48 +02:00
David Christofas 78d85b683d add missing comments 2022-08-16 12:47:44 +02:00
David Christofas 864438b2de add missing unprotected path 2022-08-15 16:04:14 +02:00
David Christofas 3ebfcbff1e add missing unprotected path 2022-08-15 11:38:04 +02:00
David Christofas 5d45f0e856 fix logic of when to add the www-authenticate headers 2022-08-12 10:48:37 +02:00
David Christofas 036c466425 add missing unprotected paths 2022-08-12 10:48:33 +02:00
David Christofas 32f68f91ff add missing www-authentication header on failed authentication 2022-08-12 10:48:29 +02:00
David Christofas d271ae2451 fix some authentication cases 2022-08-12 10:48:25 +02:00
David Christofas 06ffd9cf8a some more cleaning up 2022-08-12 10:48:21 +02:00
David Christofas 9347657370 remove the oidc tests since they aren't testing anything at the moment
I admit it would be better to implement the tests but I tried and it is a bit tricky since we can't mock everything we would need to mock. I'll wan to get these changes in first and later in the near future we should revisit the auth middleware architecture and refactor it a bit more to be more testable and future proof.
2022-08-12 10:48:17 +02:00
David Christofas 17a4e65f08 add tests for the public share auth middleware 2022-08-12 10:48:13 +02:00
David Christofas 7bc1305cb4 add tests for the basic auth middleware 2022-08-12 10:48:09 +02:00
David Christofas ef020920e8 update authentication tests 2022-08-12 10:48:04 +02:00
David Christofas ddfc01bff9 refactor unprotected paths check 2022-08-12 10:47:51 +02:00
David Christofas f35c8b9205 clean up the authenticators middlewares 2022-08-12 10:47:48 +02:00
David Christofas e96819bce8 rewrite the auth middleware
The old approach of the authentication middlewares had the problem that when an authenticator could not authenticate a request it would still send it to the next handler, in case that the next one can authenticate it. But if no authenticator could successfully authenticate the request, it would still be handled, which leads to unauthorized access.
2022-08-12 10:47:43 +02:00
Michael Barz 77ade496a7 update web to v5.7.0-rc9 2022-08-10 19:11:34 +02:00
Michael Barz a503e808c0 Merge pull request #4256 from aduffeck/cleanup-uploads
Add a cli for listing and cleaning up expired uploads
2022-08-09 12:09:17 +02:00
Michael Barz 0f4597da92 Merge pull request #4363 from owncloud/fix-quota-unrestricted
fix unrestricted quota
2022-08-08 20:57:44 +02:00
Michael Barz bb9903515f fix unrestricted quota 2022-08-08 19:25:22 +02:00
Benedikt Kulmann 84daa63380 Merge pull request #4359 from owncloud/update-web-5.7.0-rc.8
[full-ci] bump web to v5.7.0-rc.8
2022-08-08 18:01:51 +02:00
Michael Barz df8e64665b Merge pull request #4358 from owncloud/update-graph-api
add expand query for personal drive
2022-08-08 17:45:12 +02:00
Benedikt Kulmann 974469346c chore: bump web to v5.7.0-rc.8 2022-08-08 17:25:13 +02:00
Michael Barz 67b52bbd55 add expand query for personal drive 2022-08-08 16:43:59 +02:00
Michael Barz 51fe4a8560 Merge pull request #4356 from owncloud/code-improvements
add storageID to the special items, improve code
2022-08-08 16:43:14 +02:00
Michael Barz bde5d69839 add storageID to the special items, improve code 2022-08-08 16:07:19 +02:00
Michael Barz 03c63380da Merge pull request #4346 from wkloucek/rewrite-oidc-well-known
add middleware to rewrite the /.well-known/openid-configuration endpoint for external idps
2022-08-08 15:36:34 +02:00
Ralf Haferkamp 23b9437c08 Avoid panics when LDAP users miss required attributes 2022-08-05 16:46:45 +02:00
Ralf Haferkamp c7359a849f Avoid unneeded extra LDAP query per group
When expanding members of an LDAP group we did two group lookup per
Group. This can be avoided by expanding the members right from the
Group entry of the first query.

This also add some more unit test coverage, especially to the expand/select
group member test cases.
2022-08-05 16:46:45 +02:00
Ralf Haferkamp 8dde4e5b94 Add LDAP query details to debug log 2022-08-05 16:46:45 +02:00
Ralf Haferkamp d867a8bc7c Don't panic on missing group attributes
Closes #4274
2022-08-05 16:46:45 +02:00
Willy Kloucek 94646c8060 add middleware to rewrite the /.well-known/openid-configuration endpoint for external idps 2022-08-05 14:12:01 +02:00
Willy Kloucek 58ccdaca08 improve PROXY_USER_CS3_CLAIM description 2022-08-05 10:47:51 +02:00
Ralf Haferkamp 03a8db45c1 Switch default for user and group substring search
We now default LDAP_GROUP_SUBSTRING_FILTER_TYPE and LDAP_USER_SUBSTRING_FILTER_TYPE
to "any", which means full substring search. The previous default was just using prefix
matching.

Closes #4282
2022-08-04 11:23:17 +02:00
André Duffeck e35327cdf2 Add a cli for listing and cleaning up expired uploads
Fixes #2622
2022-08-04 09:41:55 +02:00
Michael Barz 1808fa0bdf Merge pull request #4323 from owncloud/fix-user-drives-quota
fix listing of drives and quota
2022-08-03 14:40:41 +02:00
Michael Barz cb7d024d89 fix listing of drives and quota 2022-08-03 12:50:00 +02:00
Jannik Stehle 492ac5ced4 Set the alias link capability to false 2022-08-03 12:17:27 +02:00
Ralf Haferkamp 6e848c7254 Use mutex for lazy init function
To avoid possible threading issues
2022-08-03 12:00:31 +02:00
Ralf Haferkamp 74d9d0f3e0 Apply suggestions from code review
Co-authored-by: Martin <github@diemattels.at>
2022-08-03 12:00:31 +02:00
Ralf Haferkamp 8229567213 Allow to configure the JWKS refresh settings
This exposes a couple for knobs for the jwks keyfunc module to adjust
timeout and refresh intervals.
2022-08-03 12:00:31 +02:00
Ralf Haferkamp eb94530433 Add option to configure access token verification
Allow to switch jwt access token verification and off. Many (most?) IDP
provide JWT encoded access tokens. If ocis is configure to assume jwt
access tokens (access_token_verify_method==jwt) we now properly verify
the tokens signature and a set of standard claims ("exp", "iat" and nbf"
by way of the jwt module's standard verification and "iss" explicitliy).

This change also allows for introduction of other access token verification
mechanism in the future (e.g. through introspection (RFC7662).
2022-08-03 12:00:31 +02:00
Ralf Haferkamp 454cea8a1c Try to verify access_token as JWT and extract expiry
We try to parse the access token as a JWT now. Verifying the signature
using the keys downloaded from the jwks_uri of the IDP. Currently we
only use it to extract the expiry information from the JWT. This could
be reworked to extract other claims from the token for authorization
purposes.

Fixes: #3841
2022-08-03 12:00:31 +02:00
Ralf Haferkamp 0b055ca621 Remove obsolete comment
Token/Userinfo caching is already present since a while
2022-08-03 12:00:31 +02:00
Benedikt Kulmann ca3c6ff570 chore: bump web to v5.7.0-rc.7 2022-08-02 18:19:55 +02:00
Ralf Haferkamp 53751339a6 Use existing mockery mock instead of manual ldap.Client mock 2022-08-02 16:14:39 +02:00