a3154e805c
fix(auth): use (issuer, name) to check for uniqueness of oidc teams ( #2152 )
...
The change introduced in #2150 introduces a bug where a Team would be re-created every time a user logs in, as the check if a team already exists was based on both the unique `oidcID` and the `name`. This PR proposes to only base the check on the ID, as this should be unique.
Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com >
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2152
Reviewed-by: konrad <k@knt.li >
Co-authored-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de >
Co-committed-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de >
2024-03-04 20:26:45 +00:00
kolaente
379b0b24b3
fix(auth): test assertion
2024-03-02 15:38:01 +01:00
kolaente
a4a0ea973a
feat(auth): update team name in Vikunja when it was changed in the openid provider
2024-03-02 15:27:15 +01:00
kolaente
fc4303a778
chore(auth): add oidc suffix to openid team name in db
...
Related to https://kolaente.dev/vikunja/vikunja/issues/2150
2024-03-02 15:23:19 +01:00
kolaente
4f1f96f1e9
chore(auth): refactor openid team creation
2024-03-02 15:22:37 +01:00
viehlieb and konrad
ed4da96ab1
feat: assign users to teams via OIDC claims ( #1393 )
...
This change adds the ability to sync teams via a custom openid claim. Vikunja will automatically create and delete teams as necessary, it will also add and remove users when they log in. These teams are fully managed by Vikunja and cannot be updated by a user.
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/1393
Resolves https://kolaente.dev/vikunja/vikunja/issues/1279
Resolves https://github.com/go-vikunja/vikunja/issues/42
Resolves https://kolaente.dev/vikunja/vikunja/issues/950
Co-authored-by: viehlieb <pf@pragma-shift.net >
Co-committed-by: viehlieb <pf@pragma-shift.net >
2024-03-02 08:47:10 +00:00
kolaente
30a2dcd04c
fix: lint
2024-01-28 15:27:14 +01:00
kolaente
ce53663a88
fix(openid): use the calculated redirect url when authenticating with openid providers
2024-01-28 12:41:35 +01:00
kolaente
a5a6aba7c8
fix(auth): don't reset user settings when updating name or email from external auth provider
...
Resolves https://github.com/go-vikunja/api/issues/102
2023-12-25 17:09:19 +01:00
kolaente
c05f51b923
chore(deps): update golangci-lint rules
2023-12-19 13:34:31 +01:00
kolaente
ab2eda4bd5
fix(openid): make sure usernames with spaces work
2023-11-13 11:38:24 +01:00
kolaente
e4c71123ef
fix: lint
2023-09-01 08:39:25 +02:00
kolaente
fb2a1c59db
feat(api tokens): check if a provided token matched a hashed on in the database
2023-09-01 08:36:15 +02:00
kolaente
e518fb1191
chore: remove year from copyright headers
...
Resolves https://kolaente.dev/vikunja/api/pulls/1483
2023-09-01 08:32:28 +02:00
kolaente
fef253312c
feat(projects): cleanup namespace leftovers
2023-05-24 15:51:54 +02:00
kolaente
16de7cd591
feat(projects): remove namespaces
2023-05-24 15:51:54 +02:00
kolaente
359d0512cc
fix: upgrade jwt v5
2023-05-23 16:37:16 +02:00
kolaente
9bf535d06f
fix: remove old saved openid provider settings from cache when starting Vikunja
...
Resolves https://kolaente.dev/vikunja/api/issues/1487
2023-04-10 13:32:20 +02:00
Dominik Pschenitschni and konrad
441722372a
feat: add token example
2023-04-03 05:20:01 +00:00
Dominik Pschenitschni and konrad
4f7d69a108
fix: docs auth openID method
2023-04-03 05:19:32 +00:00
kolaente
349e6a5905
feat: rename lists to projects
2023-03-13 14:28:06 +01:00
kolaente
9f14466dfa
fix: lint
2023-03-05 22:24:29 +01:00
kolaente
530bb0a63c
fix(user): make reset the user's name to empty actually work
2023-01-23 18:30:01 +01:00
viehlieb and konrad
a79b1de2d0
feat: provide logout url for openid providers ( #1340 )
...
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1340
Co-authored-by: viehlieb <pf@pragma-shift.net >
Co-committed-by: viehlieb <pf@pragma-shift.net >
2022-12-18 18:26:28 +00:00
kolaente
25ffa1bc2e
fix: prevent logging openid provider errors twice
2022-07-07 15:47:37 +02:00
kolaente
5cf263a86f
feat: upgrade golangci-lint to 1.45.2
2022-03-27 16:55:37 +02:00
konrad
1322cb16d7
feat: add long-lived api tokens ( #1085 )
...
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1085
Co-authored-by: konrad <k@knt.li >
Co-committed-by: konrad <k@knt.li >
2022-02-06 13:18:08 +00:00
kolaente
190a9f2a4c
fix: friendly name not getting synced on first login from openid
...
Resolves #874
2021-12-12 12:35:13 +01:00
kolaente
516c812043
feat: expose if a user is a local user through its jwt token
2021-10-31 12:37:31 +01:00
stephen-hill and konrad
82a3330412
Added the ability to configure the JWT expiry date using a new server.jwtttl config parameter. ( #999 )
...
Co-authored-by: Stephen Hill <stephen@gatekiller.co.uk >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/999
Co-authored-by: stephen-hill <stephen@gatekiller.co.uk >
Co-committed-by: stephen-hill <stephen@gatekiller.co.uk >
2021-10-09 11:02:28 +00:00
c3da454854
Update module github.com/golang-jwt/jwt to v4 ( #930 )
...
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/930
Co-authored-by: renovate <renovatebot@kolaente.de >
Co-committed-by: renovate <renovatebot@kolaente.de >
2021-08-03 21:43:18 +00:00
kolaente
eae3cbc7bb
Replace jwt-go with github.com/golang-jwt/jwt
2021-07-27 10:46:28 +02:00
konrad and kolaente
4216ed7277
Refactor user email confirmation + password reset handling ( #919 )
...
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/919
Co-authored-by: konrad <konrad@kola-entertainments.de >
Co-committed-by: konrad <konrad@kola-entertainments.de >
2021-07-13 20:56:02 +00:00
6018573d81
Update module github.com/coreos/go-oidc to v3 ( #885 )
...
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/885
Co-authored-by: renovate <renovatebot@kolaente.de >
Co-committed-by: renovate <renovatebot@kolaente.de >
2021-06-14 20:56:29 +00:00
kolaente
9147e6739f
Fix authentication callback
2021-06-09 23:00:42 +02:00
kolaente
570d146b21
Fix parsing openid config when using a json config file
2021-06-09 21:56:17 +02:00
kolaente
d48aa101cf
Refactor & fix storing struct-values in redis keyvalue
2021-05-28 10:52:51 +02:00
kolaente
3973ce985d
Try to get more information about the user when authenticating with openid
2021-05-19 14:45:24 +02:00
kolaente
2e52cc1802
Fix lint
2021-05-17 12:15:15 +02:00
kolaente
20ede346b4
Only filter out failing openid providers if multiple are configured and one of them failed
2021-05-16 13:28:15 +02:00
kolaente
b76ad8efe2
Add more logging and better error messages for openid authentication + clarify docs
2021-05-16 13:23:10 +02:00
konrad and kolaente
0ab9ce9ec4
Add events ( #777 )
...
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/777
Co-authored-by: konrad <konrad@kola-entertainments.de >
Co-committed-by: konrad <konrad@kola-entertainments.de >
2021-02-02 22:48:37 +00:00
kolaente
c4a71016b8
Update copyright year
2021-02-02 20:19:13 +01:00
kolaente
2e88600c93
Change keyvalue.Get to return if a value exists or not instead of an error
2021-01-31 12:32:46 +01:00
kolaente
20af034d78
Fix retrieving over openid providers if there are none
...
Fixes #767
2021-01-15 20:40:07 +01:00
kolaente
9baf6d39bd
Change license to AGPLv3
2020-12-23 16:41:52 +01:00
konrad and kolaente
8d1a09b5a2
Use db sessions everywere ( #750 )
...
Fix lint
Fix lint
Fix loading tasks with search
Fix loading lists
Fix loading task
Fix loading lists and namespaces
Fix tests
Fix user commands
Fix upload
Fix migration handlers
Fix all manual root handlers
Fix session in avatar
Fix session in list duplication & routes
Use sessions in migration code
Make sure the openid stuff uses a session
Add alias for db type in db package
Use sessions for file
Use a session for everything in users
Use a session for everything in users
Make sure to use a session everywhere in models
Create new session from db
Add session handling for user list
Add session handling for unsplash
Add session handling for teams and related
Add session handling for tasks and related entities
Add session handling for task reminders
Add session handling for task relations
Add session handling for task comments
Add session handling for task collections
Add session handling for task attachments
Add session handling for task assignees
Add session handling for saved filters
Add session handling for namespace and related types
Add session handling for namespace and related types
Add session handling for list users
Add session handling for list tests
Add session handling to list teams and related entities
Add session handling for link shares and related entities
Add session handling for labels and related entities
Add session handling for kanban and related entities
Add session handling for bulk task and related entities
Add session handling for lists and related entities
Add session configuration for web handler
Update web handler
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/750
Co-Authored-By: konrad <konrad@kola-entertainments.de >
Co-Committed-By: konrad <konrad@kola-entertainments.de >
2020-12-23 15:32:28 +00:00
konrad and kolaente
b2e4fde63a
Add email reminders ( #743 )
...
Fix tests
Expose email reminder setting through jwt
Set reminders on by default
Fix lint
Make user email configurable
Expose email reminder setting through /info
Don't try to send any reminders if none were found
More spacing for buttons
Fix db time format
Enable reminders by default
Make emails look more like the frontend
Add config to disable it
Add sending emaisl
Add getting all task users and reminding them
Add getting the next reminder in a cron
Move task reminder to separate file
Add cron
Co-authored-by: kolaente <k@knt.li >
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/743
Co-Authored-By: konrad <konrad@kola-entertainments.de >
Co-Committed-By: konrad <konrad@kola-entertainments.de >
2020-12-18 23:21:17 +00:00
kolaente
d2d610e0f5
Fix /info endpoint 500 error when no openid providers were configured
2020-11-26 21:26:31 +01:00
kolaente
d1c65935e6
Add name field to users
2020-11-21 21:51:55 +01:00