Commit Graph
22769 Commits
Author SHA1 Message Date
Jörn Friedrich DreyerandGitHub 8b25a1daae Merge pull request #2421 from rhafer/issue/1599
feat(graph/education): Add support of 'eq' filters on users
2026-03-06 10:43:38 +01:00
opencloudeu 1c5ae34dcf [tx] updated from transifex 2026-03-05 00:10:59 +00:00
dependabot[bot]andRalf Haferkamp 9c516039a8 build(deps): bump github.com/nats-io/nats.go from 1.48.0 to 1.49.0
Bumps [github.com/nats-io/nats.go](https://github.com/nats-io/nats.go) from 1.48.0 to 1.49.0.
- [Release notes](https://github.com/nats-io/nats.go/releases)
- [Commits](https://github.com/nats-io/nats.go/compare/v1.48.0...v1.49.0)

---
updated-dependencies:
- dependency-name: github.com/nats-io/nats.go
  dependency-version: 1.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 16:16:59 +01:00
Ralf Haferkamp fe3befd172 chore(graph/education): deduplicate LDAP Search result processing 2026-03-04 15:36:22 +01:00
Ralf Haferkamp 9f7b42586b chore(graph/education): reduce complexity and duplication 2026-03-04 15:14:30 +01:00
Ralf Haferkamp 020a37b017 feat(graph): replace externalId school lookup with OData $filter support
Remove the ability to look up schools by externalId directly (from LDAP
filters, duplicate checks, and the EducationBackend interface). This
approach was somewhat unclean, we shouldn't add more an more attributes
as keys for direct lookup.

Instead, expose externalId filtering via the OData $filter query
parameter on GET /education/schools, following the same pattern as
for education users.

Related: #1598
2026-03-04 14:31:43 +01:00
Ralf Haferkamp 6f404096ce feat(graph/education): Add support of 'eq' filters on users
This adds support of simple OData filters on the 'education/users'
endpoint. Filters of the type '$filter=<attr> eq <value>' are supported
now for the following educationUser properties:

"displayname", "mail", "userType", "primaryRole" and "externalId"

Closes: #1599
2026-03-04 13:51:42 +01:00
Ralf Haferkamp 5065a67891 feat(graph/edu): Add externalID user property 2026-03-04 13:51:42 +01:00
opencloudeu 53233c9d19 [tx] updated from transifex 2026-03-04 00:10:50 +00:00
dependabot[bot]andRalf Haferkamp 83b1c600be build(deps): bump golang.org/x/net from 0.50.0 to 0.51.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.50.0 to 0.51.0.
- [Commits](https://github.com/golang/net/compare/v0.50.0...v0.51.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 17:57:20 +01:00
Florian SchadeandGitHub 64474252cb Merge pull request #2410 from fschade/send-backchannel-event-only-in-session-mode
fix: send the backchannel logout event only if a session exists
2026-03-02 10:28:46 +01:00
opencloudeu 323e0b3433 [tx] updated from transifex 2026-03-02 00:10:01 +00:00
Florian SchadeandGitHub 0748298f98 Merge pull request #2413 from opencloud-eu/fix-simple-install
[SKIP CI] Fix simple install script, use admin-password switch
2026-02-28 10:52:09 +01:00
Klaas Freitag 2702a04a23 Fix simple install script, use admin-password switch 2026-02-28 10:49:44 +01:00
Florian Schade c7fd33c919 fix: send the backchannel logout event only if a session exists 2026-02-27 11:16:53 +01:00
dependabot[bot]andRalf Haferkamp 6cdf229979 build(deps): bump github.com/kovidgoyal/imaging from 1.8.19 to 1.8.20
Bumps [github.com/kovidgoyal/imaging](https://github.com/kovidgoyal/imaging) from 1.8.19 to 1.8.20.
- [Release notes](https://github.com/kovidgoyal/imaging/releases)
- [Commits](https://github.com/kovidgoyal/imaging/compare/v1.8.19...v1.8.20)

---
updated-dependencies:
- dependency-name: github.com/kovidgoyal/imaging
  dependency-version: 1.8.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 18:38:29 +01:00
Mahdi BaghbaniandGitHub d7cb432b4d fix(ocm): allow insecure tls for wayf discovery (#2404)
* fix(ocm): allow insecure tls for wayf discovery

Signed-off-by: Mahdi Baghbani <mahdi-baghbani@azadehafzar.io>
2026-02-26 14:44:38 +01:00
Florian SchadeandChristian Richter b69b9cd569 fix: simplify subject.session key parsing 2026-02-25 14:02:09 +01:00
Florian SchadeandChristian Richter e8ecbd7af1 refactor: make the logout mode private 2026-02-25 14:02:09 +01:00
Florian SchadeandChristian Richter fd614eacf1 fix: use base64 record keys to prevent separator clashes with subjects or sessionIds that contain a dot 2026-02-25 14:02:09 +01:00
Florian SchadeandChristian Richter 910298aa05 chore: change naming 2026-02-25 14:02:09 +01:00
Florian SchadeandChristian Richter 7350050a05 test: add more backchannellogout tests 2026-02-25 14:02:09 +01:00
Florian SchadeandChristian Richter f72e3f1e32 chore: cleanup backchannel logout pr for review 2026-02-25 14:02:09 +01:00
Florian SchadeandChristian Richter 0c62c45494 enhancement: document idp side-effects 2026-02-25 14:02:09 +01:00
Florian SchadeandChristian Richter f6553498f6 enhancement: finalize backchannel logout 2026-02-25 14:02:09 +01:00
6a0fd89475 refactor deletion
Co-authored-by: Jörn Dreyer <j.dreyer@opencloud.eu>
Co-authored-by: Michael Barz <m.barz@opencloud.eu>
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-02-25 14:02:09 +01:00
Christian RichterandChristian Richter cb38aaab16 create mapping in cache for subject => sessionid
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-02-25 14:02:09 +01:00
Christian RichterandChristian Richter 762062bfa3 add mapping to backchannel logout for subject => sessionid
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-02-25 14:02:09 +01:00
291265afb0 add additional validation to logout token
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
Co-authored-by: Michael Barz <m.barz@opencloud.eu>
2026-02-25 14:02:09 +01:00
opencloudeu 49a018e973 [tx] updated from transifex 2026-02-24 00:12:39 +00:00
Ralf HaferkampandRalf Haferkamp 372bb04ee8 chore(idp): Bump dependencies
The axios bump addresses CVE-2025-7783
2026-02-23 09:38:12 +01:00
dependabot[bot]andRalf Haferkamp b7eb6f768d build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2
Bumps [github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway) from 2.27.7 to 2.28.0.
- [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases)
- [Commits](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.27.7...v2.28.0)

---
updated-dependencies:
- dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
  dependency-version: 2.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-23 09:34:09 +01:00
dependabot[bot]andRalf Haferkamp e13ba4af06 build(deps): bump github.com/open-policy-agent/opa from 1.13.1 to 1.13.2
Bumps [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) from 1.13.1 to 1.13.2.
- [Release notes](https://github.com/open-policy-agent/opa/releases)
- [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.13.1...v1.13.2)

---
updated-dependencies:
- dependency-name: github.com/open-policy-agent/opa
  dependency-version: 1.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-23 09:31:49 +01:00
Jannik StehleandGitHub 2a2e882a59 Merge pull request #2377 from opencloud-eu/feat/web-adjust-surface-colors
feat(web): change surface colors to more modern ones
2026-02-23 07:34:59 +01:00
opencloudeu 42e9c27174 [tx] updated from transifex 2026-02-22 00:13:15 +00:00
Jannik Stehle 02d73157c1 feat(web): change surface colors to more modern ones 2026-02-20 16:13:32 +01:00
dependabot[bot]andRalf Haferkamp 801a4ce8c4 build(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.78.0 to 1.79.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.78.0...v1.79.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.79.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-19 18:27:12 +01:00
dependabot[bot]andRalf Haferkamp 74ff47e4c2 build(deps): bump github.com/onsi/ginkgo/v2 from 2.28.0 to 2.28.1
Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.28.0 to 2.28.1.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v2.28.0...v2.28.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-version: 2.28.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-19 17:04:06 +01:00
dependabot[bot]andRalf Haferkamp 5851db3d93 build(deps): bump go.opentelemetry.io/contrib/zpages
Bumps [go.opentelemetry.io/contrib/zpages](https://github.com/open-telemetry/opentelemetry-go-contrib) from 0.64.0 to 0.65.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.64.0...zpages/v0.65.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/zpages
  dependency-version: 0.65.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-19 13:27:49 +01:00
Ralf HaferkampandRalf Haferkamp 6dde2839df fix(oidc_auth): Fix userinfo cache expiration logic
When the userinfo claims store in the usercache is found to be expired,
do not return an error but ignore the cached entry and force a
re-verification of the access token (either via parsing the JWT again or
via a UserInfo lookup).
This is required for setups with non-JWT access tokes where the expiry
date set in the cached claims does not reflect the actual token expiry,
but just the CacheTTL.

Fixes: #1493
2026-02-19 13:17:17 +01:00
Ralf HaferkampandRalf Haferkamp 212846f2f4 fix(idp): Remove kpop dependency
The built package (https://download.kopano.io/community/kapp:/kpop-2.7.2.tgz)
seems to be no longer available and upstream lico already switched away
from it quite a while ago.

Fixes: #2364
2026-02-19 12:16:30 +01:00
opencloudeu 4447893aeb [tx] updated from transifex 2026-02-18 00:15:57 +00:00
Jörn Friedrich DreyerandRalf Haferkamp cd655f3ac7 Add openCloudEducationExternalId to user 2026-02-17 17:57:39 +01:00
dependabot[bot]andRalf Haferkamp 44d2f95fa6 build(deps): bump golang.org/x/net from 0.49.0 to 0.50.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.49.0 to 0.50.0.
- [Commits](https://github.com/golang/net/compare/v0.49.0...v0.50.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.50.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-17 16:53:59 +01:00
dependabot[bot]andRalf Haferkamp d0edd5bf99 build(deps): bump github.com/go-resty/resty/v2 from 2.17.1 to 2.17.2
Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.17.1 to 2.17.2.
- [Release notes](https://github.com/go-resty/resty/releases)
- [Commits](https://github.com/go-resty/resty/compare/v2.17.1...v2.17.2)

---
updated-dependencies:
- dependency-name: github.com/go-resty/resty/v2
  dependency-version: 2.17.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-17 16:51:33 +01:00
AlexandGitHub cdb942a093 feat: app-registry adjust default mime-types (#2354) 2026-02-17 16:39:55 +01:00
Ralf HaferkampandRalf Haferkamp 342cb3df95 adr(webfinger): Align example config with implementation 2026-02-17 12:13:43 +01:00
Ralf HaferkampandRalf Haferkamp 78703806e4 feat(webfinger): add fallbacks for CLIENT_ID and SCOPE setting
This adds the variables 'OC_OIDC_CLIENT_ID' and
'OC_OIDC_CLIENT_SCOPES' as fallbacks for the platform specific settings.

For backwards compatibility with the "old" settings for the 'web'
service we also allow 'WEB_OIDC_CLIENT_ID' and 'WEB_OIDC_SCOPE' for the
"web" platform.
2026-02-17 10:41:35 +01:00
Ralf HaferkampandRalf Haferkamp 4f1aca6d90 feat(webfinger): use webfinger properties instead new relations
This works the previous commits so that clients can add an addtional
'platform' query parameter to the webfinger request that  can be used
to query the oidc client id and list of scopes that the clients need
to use when connecting to the IDP.

This also removes the non-standard issuer relatation introduced in a
previous commit as we can just introduce new relations in the
http://openid.net name space.

For IDP like Authentik that create a separate issuer url per Client
(Application in Authentik's terms) it is suggested to just configure
as single Client and use that id for all platforms (i.e. setting
'WEBFINGER_ANDROID_OIDC_CLIENT_ID', 'WEBFINGER_DESKTOP_OIDC_CLIENT_ID',
'WEBFINGER_IOS_OIDC_CLIENT_ID' and 'WEBFINGER_WEB_OIDC_CLIENT_ID' to
same value.

Related: #2088
Related: https://github.com/opencloud-eu/desktop/issues/246
2026-02-17 10:41:35 +01:00
Ralf HaferkampandRalf Haferkamp 24aaeb46ba chore(webfinger): Simplify weird Query parameter extraction loop 2026-02-17 10:41:35 +01:00