Commit Graph

286 Commits

Author SHA1 Message Date
kolaente
6671ce38a8 chore: rename API test suites (#938) 2025-06-13 08:23:17 +00:00
kolaente
da95463bb2 fix(migration): detect header lines in csv file when importing from TickTick (#937) 2025-06-13 07:45:54 +00:00
Dominik Pschenitschni
296577a875 fix: correct license header references (#882)
See originals:
- https://www.gnu.org/licenses/agpl-3.0.txt
- https://www.gnu.org/licenses/gpl-3.0.txt
2025-06-10 12:18:38 +02:00
Weijie Zhao
00c4148f05 feat(auth): add ForceUserInfo option to OpenID provider (#797)
Problem:

When using Casdoor as an OpenID provider, there's an inconsistency between the user information in the JWT token and the UserInfo endpoint. The token contains the user's unique ID in the `name` field, while the UserInfo endpoint correctly returns the user's display name.

Solution:

This PR adds a new `ForceUserInfo` option to the OpenID provider configuration. When enabled, it forces the use of the UserInfo endpoint to retrieve user information instead of relying on claims from the ID token.

Impact:

- Default behavior remains unchanged (backward compatible)
- New option allows administrators to force using UserInfo endpoint data
- Particularly useful for providers like Casdoor that don't fully comply with OIDC standards

Related:

I've opened an issue in the Casdoor repository (https://github.com/casdoor/casdoor/issues/3806) to discuss the root cause. However, changing Casdoor's token structure might cause significant compatibility issues for existing integrations, so it's unclear if this can be fixed at the provider level. This PR provides a workaround in Vikunja that doesn't affect existing functionality.
2025-05-20 08:06:34 +00:00
renovate[bot]
4a75f7d4da chore(deps): update golangci/golangci-lint-action action to v7 (#462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-04-02 09:28:56 +02:00
kolaente
7803fe8aef fix(avatar): use keyvalue store to cache gravatar instead of map
Resolves https://community.vikunja.io/t/docker-crash-concurrent-map-writes-google-login/3454
2025-03-30 16:24:34 +02:00
kolaente
6847f44058 chore(openid): add more debug logging when retrieving token 2025-03-29 19:24:07 +01:00
kolaente
4ea3c01b5f chore: add more debug logging when returning error 2025-03-29 18:21:34 +01:00
kolaente
13d4e0e00d chore(utils): remove deprecated MakeRandomString function 2025-03-24 16:52:46 +01:00
kolaente
4d41a1bd9b feat(kanban): create To-Do, Doing, Done buckets when creating a new kanban view 2025-03-21 19:16:52 +01:00
kolaente
d522d40773 fix(migration): do not fail when an attachment is too large
Resolves https://vikunja.sentry.io/issues/6389417364/events/d79bdea146b54a9dace8c81e3f787975/
2025-03-21 18:03:27 +01:00
kolaente
23d2814b94 fix(migration): check if the provided file is a valid csv before importing 2025-03-21 17:53:05 +01:00
kolaente
d19a93dece fix(migration): check if uploaded csv is empty 2025-03-21 17:48:08 +01:00
kolaente
e3f006c527 fix(i18n): add missing translations 2025-03-20 17:41:45 +01:00
kolaente
5a93379d81 fix(ldap): update user name and email during login 2025-03-20 17:24:00 +01:00
kolaente
d585de77a4 fix(ldap): crop avatar when syncing 2025-03-20 17:19:58 +01:00
kolaente
164f2eab9d feat(ldap): also look for username only when checking group membership 2025-03-19 22:16:12 +01:00
kolaente
f4b9a9cccd feat(ldap): make member id attribute configurable 2025-03-19 22:15:50 +01:00
kolaente
e12ebfebed feat(ldap): sync avatar from ldap 2025-03-18 18:28:54 +01:00
kolaente
26c7ceaed4 chore(avatar): decouple upload from web handler 2025-03-18 18:28:54 +01:00
kolaente
732431773d fix(i18n): remove duplicate api strings 2025-03-18 18:23:47 +01:00
kolaente
99213c66ee chore(openid): use general external team sync 2025-03-18 16:36:00 +00:00
kolaente
216df5bedc feat(ldap): make group sync configurable 2025-03-18 16:36:00 +00:00
kolaente
a3b19a7b3c feat(auth): refactor group sync 2025-03-18 16:36:00 +00:00
kolaente
c2f286437c feat(auth): ldap group sync 2025-03-18 16:36:00 +00:00
kolaente
9f5c761fd9 chore(auth): rename error 2025-03-18 16:36:00 +00:00
kolaente
06851ca639 chore(auth): rename external team id find methods 2025-03-18 16:36:00 +00:00
kolaente
62beb3db2d feat(auth): rename oidc_id to external_id 2025-03-18 16:36:00 +00:00
kolaente
12aba8e9b1 chore(openid): move openid team struct to openid package 2025-03-17 17:34:49 +01:00
kolaente
87cfe89441 feat(ldap): add tests 2025-03-16 18:23:55 +01:00
kolaente
91f9fe5b96 fix(ldap): return meaningful error when providing wrong credentials 2025-03-16 18:23:55 +01:00
Marc
f4a0c0ef31 feat(auth): sso fallback mapping (#3068)
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/3068
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Marc <marc88@free.fr>
Co-committed-by: Marc <marc88@free.fr>
2025-03-02 15:21:09 +00:00
kolaente
4e93806a44 fix(auth): load oidc provider before trying to use it
Resolves https://kolaente.dev/vikunja/vikunja/issues/3067
2025-03-02 14:09:02 +01:00
kolaente
734033c843 fix(avatars): always return correct mime type for cached avatar 2025-03-02 13:33:40 +01:00
kolaente
2ead48c1e9 fix(migration): do not crash when relating a task to itself
Resolves https://community.vikunja.io/t/vikunja-import-error-tried-to-relate-a-task-with-itself/1105
2025-03-02 13:24:55 +01:00
kolaente
1d1295e065 feat(i18n): add translations for migration notifications 2025-03-02 12:33:30 +01:00
kolaente
250bb8ec99 fix(i18n): pass language to notification mail function 2025-03-02 12:29:31 +01:00
kolaente
e9d9f04763 chore: improve debug logging 2025-02-03 17:42:17 +01:00
kolaente
f898bdaf2d feat(auth): use config variable to check if we should verify tls 2025-01-28 09:59:08 +00:00
kolaente
03412dd358 feat(auth): verify ldap config before trying to connect 2025-01-28 09:59:08 +00:00
kolaente
d22c3fb19e feat(auth): make ldap user filter configurable 2025-01-28 09:59:08 +00:00
kolaente
71cad7aa13 chore(auth): refactor creating users in openid and ldap 2025-01-28 09:59:08 +00:00
kolaente
38bb8de4f1 feat(auth): authenticate users via ldap 2025-01-28 09:59:08 +00:00
kolaente
090dd4b2f6 fix(user): do not allow changing name in settings when the user originates from an external auth provider
This improves the UX because it does not allow external users to change their name in Vikunja, since that change would be overridden once they log in again.

Resolves https://github.com/go-vikunja/vikunja/issues/357
2025-01-21 16:27:06 +01:00
kolaente
0e37049343 fix(migration): add more debug logging 2025-01-20 12:08:10 +01:00
kolaente
017fa1b5af fix(restore): restore encoded float values properly
Resolves https://kolaente.dev/vikunja/vikunja/issues/2934
2025-01-09 15:42:12 +01:00
kolaente
7e66f3ec6b fix(restore): make sure all json columns are properly restored 2025-01-09 15:40:22 +01:00
kolaente
3d5d17336e fix(migration): return proper error when uploaded file is not a zip file
Resolves https://vikunja.sentry.io/share/issue/73a7b6f60b3e446e949d072016f31c22/
2025-01-09 14:32:24 +01:00
kolaente
47ff7d8ad3 fix(migration): fetch members when they do not exist
Resolves https://github.com/go-vikunja/vikunja/issues/378
2024-12-15 13:11:29 +01:00
kolaente
c9a68d3a63 fix(openid): lint 2024-12-11 17:10:41 +01:00