Commit Graph

33 Commits

Author SHA1 Message Date
ffa82556e0 feat(teams): add public flags to teams to allow easier sharing with other teams (#2179)
Some checks failed
continuous-integration/drone/push Build is failing
Resolves #2173
Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com>
Reviewed-on: #2179
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-10 14:04:32 +00:00
d7fdefcead chore(deps): update golangci/golangci-lint docker tag to v1.56.2 (#2099)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2099
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2024-03-10 13:47:19 +00:00
d69fc28125 fix(openid): OIDC teams should not have admins (#2161)
All checks were successful
continuous-integration/drone/push Build is passing
This PR fixes an issue discussed in #2152. Before this PR, the user who triggered team creation automatically got the admin flag set for this group, which makes perfect sense for the normal UI workflow. OIDC managed teams cannot be edited in Vikunja, and they're created automatically by the first user logging in having this team assigned. This PR therefore makes sure that OIDC managed team members do not receive the admin flag.

Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com>
Reviewed-on: #2161
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-05 22:08:39 +00:00
a3154e805c fix(auth): use (issuer, name) to check for uniqueness of oidc teams (#2152)
All checks were successful
continuous-integration/drone/push Build is passing
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: #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
a4a0ea973a
feat(auth): update team name in Vikunja when it was changed in the openid provider
Some checks failed
continuous-integration/drone/push Build is failing
2024-03-02 15:27:15 +01:00
fc4303a778
chore(auth): add oidc suffix to openid team name in db
Related to #2150
2024-03-02 15:23:19 +01:00
4f1f96f1e9
chore(auth): refactor openid team creation 2024-03-02 15:22:37 +01:00
ed4da96ab1 feat: assign users to teams via OIDC claims (#1393)
All checks were successful
continuous-integration/drone/push Build is passing
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: #1393
Resolves #1279
Resolves https://github.com/go-vikunja/vikunja/issues/42
Resolves #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
30a2dcd04c
fix: lint 2024-01-28 15:27:14 +01:00
ce53663a88
fix(openid): use the calculated redirect url when authenticating with openid providers
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-28 12:41:35 +01:00
a5a6aba7c8
fix(auth): don't reset user settings when updating name or email from external auth provider
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://github.com/go-vikunja/api/issues/102
2023-12-25 17:09:19 +01:00
ab2eda4bd5
fix(openid): make sure usernames with spaces work
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-13 11:38:24 +01:00
e518fb1191
chore: remove year from copyright headers
Some checks failed
continuous-integration/drone/push Build is failing
Resolves vikunja/api#1483
2023-09-01 08:32:28 +02:00
fef253312c
feat(projects): cleanup namespace leftovers 2023-05-24 15:51:54 +02:00
16de7cd591
feat(projects): remove namespaces 2023-05-24 15:51:54 +02:00
4f7d69a108 fix: docs auth openID method
Some checks failed
continuous-integration/drone/push Build is failing
2023-04-03 05:19:32 +00:00
9f14466dfa
fix: lint
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-05 22:24:29 +01:00
530bb0a63c
fix(user): make reset the user's name to empty actually work
Some checks failed
continuous-integration/drone/push Build is failing
2023-01-23 18:30:01 +01:00
a79b1de2d0 feat: provide logout url for openid providers (#1340)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#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
5cf263a86f
feat: upgrade golangci-lint to 1.45.2
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-27 16:55:37 +02:00
1322cb16d7 feat: add long-lived api tokens (#1085)
Some checks reported errors
continuous-integration/drone/push Build was killed
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1085
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-02-06 13:18:08 +00:00
190a9f2a4c
fix: friendly name not getting synced on first login from openid
All checks were successful
continuous-integration/drone/push Build is passing
Resolves #874
2021-12-12 12:35:13 +01:00
4216ed7277 Refactor user email confirmation + password reset handling (#919)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#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)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#885
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-14 20:56:29 +00:00
9147e6739f
Fix authentication callback
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-09 23:00:42 +02:00
d48aa101cf
Refactor & fix storing struct-values in redis keyvalue
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-28 10:52:51 +02:00
3973ce985d
Try to get more information about the user when authenticating with openid
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-19 14:45:24 +02:00
b76ad8efe2
Add more logging and better error messages for openid authentication + clarify docs
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-16 13:23:10 +02:00
c4a71016b8
Update copyright year
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-02 20:19:13 +01:00
9baf6d39bd
Change license to AGPLv3
Some checks failed
continuous-integration/drone/push Build is failing
2020-12-23 16:41:52 +01:00
8d1a09b5a2 Use db sessions everywere (#750)
Some checks failed
continuous-integration/drone/push Build is failing
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: vikunja/api#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
d1c65935e6
Add name field to users
All checks were successful
continuous-integration/drone/push Build is passing
2020-11-21 21:51:55 +01:00
2b5c9ae7a8 Authentication with OpenID Connect providers (#713)
All checks were successful
continuous-integration/drone/push Build is passing
Add config docs

Lint

Move provider-related stuff to separate file

Refactor getting auth providers

Fix tests

Fix user tests

Fix openid tests

Add swagger docs

Fix lint

Fix lint issues

Fix checking if the user already exists

Make sure to create a new namespace for new users

Docs

Add tests for openid

Remove unnessecary err check

Consistently return nil users if creating a new user failed

Move sending confirmation email to separate function

Better variable names

Move checks to separate functions

Refactor creating user into seperate file

Fix creating new local users

Test creating new users from different issuers

Generate a random username right away if no preferred username has been given

Add todo

Cache openid providers

Add getting int clientids

Fix migration

Move creating tokens to auth package

Add getting or creating a third party user

Add parsing claims

Add retreiving auth tokens

Add token callback from openid package

Add check for provider key

Add routes

Start adding openid auth handler

Add config for openid auth

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#713
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-11-21 16:38:58 +00:00