mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-05-21 02:32:22 -05:00
Unable to setup OpenID login #1931
Closed
opened 2026-03-22 13:47:05 -05:00 by GiteaMirror
·
33 comments
No Branch/Tag Specified
main
renovate/dev-dependencies
fix-list-sort-resets
claude/analyze-beans-project-9VxoS
feat-huma-api-v2-migration
feat-v2-foundation
spike-huma-openapi3
claude/investigate-swagger3-support-nyyUa
feat-list-view-buckets
ci-mysql-8-test
codex/analyze-codebase-for-email-task-feature
feat-project-templates
csv-import-feature
claude/email-reply-comments-wpdcQ
fix-oidc-pkce-support
fix/overview-subtasks-expand
feat/bucket-select-task-detail
feat-soft-delete-projects
claude/review-bot-design-plan-cf5C3
claude/project-scoped-api-tokens-KTqR3
claude/explore-openclaw-integration-KQEzg
claude/project-scoped-api-tokens-yv5KS
fix-duplicate-close-button
feat-list-view-sorting
feat/official-vite-sentry-plugin
feat/highlight-overdue-tasks
feat/add-enter-key-form-submission-handling
feat/TipTap-nits
feat/update-caldavtimetotimestamp-parsing
feat-phosphor-icons
wip-plans
claude/investigate-issue-2173-llKme
fix-description-text-drag
feat-custom-keyboard-shortcuts
pr-1845-ci
codex/fix-drag-and-drop-behavior-inconsistency
copilot/add-clickable-labels-for-filtering
copilot/fix-issue-1786
playwright-migration
fix-kanban-repeating-wip
copilot/fix-1498
feature/replace-axios
codex/upgrade-to-tailwind-4.1.8-using-pnpm
codex/add-cypress-test-for-avatar-types
feature/biome
feature/oxc
codex/update-flexsearch-to-0.8.205
4r6ni9-codex/fix-deprecated-sass-@import-usage
codex/fix-deprecated-sass-@import-usage
codex/add-cypress-test-for-task-list-refresh-fix
codex/fix-quick-add-magic-not-adding-tasks
codex/fix-all-type-errors
codex/fix-mimetype-for-docs.json
feature/caldav-from-scratch
feature/gh-actions-hetzner
fix-ci
feat/new-logger
jyte-better-dev-config
feat/add-team-member-with-enter
fix/button-and-icon-types
fix/notifications-component-name-collision
feature/null-time
renovate/tailwindcss-4.x
feature/unplugin-vue-router
fix/deprecated-import
feature/zod-schema
renovate/golangci-golangci-lint-1.x
fix/tiptap-editor-reactive-destructuring
release/0.24
feat/improve-add-task
fix/saved-filter-search
feat/webp-and-avif-attachment-previews
feature/migrate-back-to-bulma
fix/sass-add-missing-list-import
feature/sticky-demo-bar
fix/gantt-view-switch
feature/typesense-position-join
feature/focus-visible
dependencies/golangci-lint
feature/better-filter-syntax
fix/tiptap-task-list
renovate/github.com-golang-jwt-jwt-v4-5.x
feature/hide-forbidden-related-tasks
renovate/golang-1.x
release/0.20
release/0.17
release/0.16
release/0.15
release/0.14
v2.3.0
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.0
v1.1.0
v1.0.0
v1.0.0-rc4
v1.0.0-rc3
v1.0.0-rc2
v1.0.0-rc1
v1.0.0-rc0
v0.24.6
v0.24.5
v0.24.4
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.0
v0.22.1
v0.22.0
0.21.0
v0.21.0
v0.20.4
v0.20.5
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.2
v0.19.1
v0.19.0
vue3
v0.18.1
v0.18.0
v0.17.1
v0.17.0
v0.16.1
v0.16.0
v0.15.1
v0.15.0
v0.14.1
v0.14.0
v0.13.1
v0.13
v0.12
v0.11
v0.10
v0.9
v0.8
v0.7
v0.6
v0.5
v0.4
v0.3
v0.2
v0.1
Labels
Clear labels
area/api
area/attachments
area/auth
area/avatars
area/backup-restore
area/caldav
area/calendar-view
area/comments
area/config
area/database
area/desktop
area/docker
area/email
area/favorites
area/filters
area/frontend
area/gantt
area/i18n
area/import-export
area/internal-code
area/kanban
area/labels
area/list-view
area/mobile
area/notifications
area/permissions
area/projects
area/pwa
area/recurring-tasks
area/reminders
area/search
area/shortcuts
area/subtasks
area/sync
area/table-view
area/task-editor
area/task-metadata
area/task-relations
area/teams
area/theming
area/time-tracking
area/typesense
area/views
area/webhooks
bug
changes requested
concern/accessibility
concern/performance
concern/regression
concern/ux
confirmed
db/mysql
dependencies
enhancement
good first issue
help wanted
integration/inbound
integration/outbound
kind/bug
kind/feature
needs reproduction
pull-request
question
security
support
upstream issue
waiting for reply
wontfix
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/vikunja#1931
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ngthwi on GitHub (Mar 18, 2024).
Description
I can't enable the OpenID login.
I have deployed Vikunja in docker and I am using a config.yml in /etc/vikunja
(I've also tried to set the env variable VIKUNJA_AUTH_OPENID: true)
The config.yml has basically only the following lines as I assume they override the base parameters.
No OpenID button on the home page...

The config.yml seems to work as I am able to disable the local login.
Here's the result with the following params:
Resulting info page

Resulting home page

Thanks for your help
Vikunja Version
v0.23.0
Browser and version
No response
Can you reproduce the bug on the Vikunja demo site?
No
Screenshots
No response
@kolaente commented on GitHub (Mar 19, 2024):
Do you see anything in the logs when you enable the provider, restart Vikunja and then access the
/api/v1/infoendpoint?@ngthwi commented on GitHub (Mar 19, 2024):
No error in the logs

@kolaente commented on GitHub (Mar 19, 2024):
What's the output after the "http server started" line?
Vikunja will fetch the providers the first time you access the /info endpoint it, it can only do that once the http server is running.
@ngthwi commented on GitHub (Mar 19, 2024):
Here's the log
@ngthwi commented on GitHub (Mar 20, 2024):
@kolaente commented on GitHub (Mar 20, 2024):
But with that, does the openid provider show up on the login page? Does it show up when you access
/api/v1/infoin a browser?@ngthwi commented on GitHub (Mar 20, 2024):
is completely ignored while
is correctly taken in account...
@ngthwi commented on GitHub (Mar 20, 2024):
No on both
@kolaente commented on GitHub (Mar 20, 2024):
Does it work if you use another provider? (For example GitLab works pretty good)
@ngthwi commented on GitHub (Mar 20, 2024):
Isn't a button supposed to be displayed on the login page?
My issue is that whatever the value of "openid: enabled: " no OpenID button will appear...
@kolaente commented on GitHub (Mar 20, 2024):
Yes, it will show the button if the provider is properly set up and reachable. The button is shown based on the output from the
/infoapi response. I was asking to see if the problem is on the api side of things (the provider not getting picked up) or in the frontend (the button not being displayed). If Vikunja can't reacht the provider, there should be an error message in the logs.The auth part of the api response should look something like this:
Again, please check if it works with another provider so that we can rule out if Vikunja is the problem. So far, it is not reproducible.
@ngthwi commented on GitHub (Mar 20, 2024):
Same outcome with GitLab (and I've used a json file this time)...
config.json
@kolaente commented on GitHub (Mar 20, 2024):
The snippet is what the response from
/api/v1/infoshould look like, not a config file.@ngthwi commented on GitHub (Mar 20, 2024):
Here's the snippet response:
The json file was the related config.json (a simple copy/paste of the one in your message):
@ngthwi commented on GitHub (Mar 20, 2024):
Are there any verbose/debug modes I can enable?
@kolaente commented on GitHub (Mar 20, 2024):
You can enable debug logging: https://vikunja.io/docs/config-options/#level
Please check if it works with another openid provider, like gitlab.
@ngthwi commented on GitHub (Mar 20, 2024):
The issue is not related to a specific provider.... It seems that the OpenID params are ignored and therefore there's no button for OpenID connection....
Not sure if it's a lead but the param name is not consistent:
I have tried both but the issue remains.
@kolaente commented on GitHub (Mar 20, 2024):
That's unrelated. The param does not return the config verbatim. I run multiple installations of Vikunja with openid enabled, I can confidently say the feature works in general. Hence I suspect the openid provider you configured to be the problem.
Might also be a yaml issue wrt spacing or tabs.
@ngthwi commented on GitHub (Mar 20, 2024):
Tried with a json file as well...
This should at least trigger the display of the openid connect button no matter is set in the following parameters, right?
@kolaente commented on GitHub (Mar 20, 2024):
Can you share the json file?
@ngthwi commented on GitHub (Mar 20, 2024):
This is the last json file I tested.
config.json
(I assumed that I only have to set the parameters that I need to be overriden)
@kolaente commented on GitHub (Mar 20, 2024):
You need to provide a client id and client secret.
@ngthwi commented on GitHub (Mar 20, 2024):
I'm afraid I'm failing to understand how you implemented OpenID...

What I am expecting is a button that is displayed when
openidis set toenable: truein config.yml even if the child params (clientid, clientsecret, etc) are incorrect.Isn't that how it is in Vikunja?
Therefore why would api/v1/info display
enable: falsewhile set totrue? How would Vikunja check the OpenID provider without any credentails during startup?ps: great job on Vikunja, I really can't wait to use it
@kolaente commented on GitHub (Mar 20, 2024):
It will show the button if you have at least one working openid provider. You must configure a provider to authenticate against, simply enabling openid without a provider won't work.
@ngthwi commented on GitHub (Mar 20, 2024):
My provider is Keycloak and it works with the other apps I've set up.


Here's the client I've set up for Vikunja according to this doc:
My (anonymised) config.json:
Still no OpenID connect button...
"auth_url" url works fine.
@kolaente commented on GitHub (Mar 20, 2024):
It should be
openidnotopenid_connectin the config file.@ngthwi commented on GitHub (Mar 20, 2024):
Tried both...
@kolaente commented on GitHub (Mar 20, 2024):
Does it work with yaml? Is the config file picked up by Vikunja? (There should be a log message on start of Vikunja)
@ngthwi commented on GitHub (Mar 20, 2024):
It's not working either...
Here's my anonymised config.yml (had to add the .txt extension for github attached files)
config.yml.txt
I've noticed a minor issue (because it's not a regular use case): the app cannot switch from config.yml to config.json (✅) then back to config.yml (🚫)
So I had to reset the containers and went from scratch.
My config.yml is definitely parsed by the app:
auth: local: enabled: false: there's no login fields at allWhere is located the config file in the container?
@ngthwi commented on GitHub (Mar 20, 2024):
As far as I can understand the function GetAllProviders() in providers.go , there's no validation of the values of the openid parameters in config.yml (meaning that the values are not checked/validated nor the url tested)...
So unless the yaml structure of the
auth:openidis not compliant and raise an error during parsing, the openid button should be displayed whenauth: openid: enabled: true.For some reasons (unknown from me), my config.yml seems not compliant...
I used the sample from here though...
Can you share one of your config.yml (anonymised) with openid that works on one of your environments or test my config.yml as is?
@ngthwi commented on GitHub (Mar 21, 2024):
To add a different perspective to my issue: the openid connect button should be displayed even with a dummy configuration compliant with the documentation sample.
In my situation, while my external config.yml is parsed (I can test that
auth.local.enabledis showing or not the login button when I set the value to true or false), it seems that the elementauth.openidis ignored, resulting in this snippetapi/v1/inforesponse and no openid connect button to be displayed:@ngthwi commented on GitHub (Mar 21, 2024):
I finally got OpenID connect to work on another test server/docker/oidc server.
As you pointed it, if vikunja cannot validate
authurl:, the button doesn't show.Maybe an error log related to this case would be helpful.
Thx a lot for your time.
@kolaente commented on GitHub (Mar 28, 2024):
It's where you mount it, there's no config file that ships directly with the container.
Glad you got it working!
The problem here is, when the config is invalid, it looks like the required config keys are not present, there's no way for Vikunja to know about it.