OpenID documentation wrong / providers not working #2207

Closed
opened 2026-03-22 13:57:23 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @regnerisch on GitHub (Apr 3, 2025).

Description

I created a config.yml like described in the documentation:

auth:
  openid:
    enabled: true
    providers:
      pocketid:
        name: "Pocket ID"
        authurl: ".../authorize"
        clientid: "..."
        clientsecret: "..."

Also the code seems to support that (valid) yaml. But I always get an internal server error (https://my-domain.com/api/v1/info)

If I change the providers to an array instead of an object (which is not documented but shown in many examples)
I do not get an error, but the openid_providers inside the API-info endpoint is an empty array. Which is also wrong. I am not able to sign up or login with my OIDC provider as the frontend just shows the normal login/sign up page.

auth:
  openid:
    enabled: true
    providers:
      - name: "Pocket ID"
         authurl: ".../authorize"
         clientid: "..."
         clientsecret: "..."

I'm pretty sure this is not intended. This need to be fixed inside the code and the documentation must be updated too. It sould be an array or an object and should be consistant between the config documentation and examples.

Vikunja Version

0.24.6

Browser and version

No response

Can you reproduce the bug on the Vikunja demo site?

No

Screenshots

No response

Originally created by @regnerisch on GitHub (Apr 3, 2025). ### Description I created a config.yml like described in the documentation: ```yaml auth: openid: enabled: true providers: pocketid: name: "Pocket ID" authurl: ".../authorize" clientid: "..." clientsecret: "..." ``` Also the code seems to support that (valid) yaml. But I always get an internal server error (https://my-domain.com/api/v1/info) If I change the providers to an array instead of an object (which is not documented but shown in many examples) I do not get an error, but the `openid_providers` inside the API-info endpoint is an empty array. Which is also wrong. I am not able to sign up or login with my OIDC provider as the frontend just shows the normal login/sign up page. ```yaml auth: openid: enabled: true providers: - name: "Pocket ID" authurl: ".../authorize" clientid: "..." clientsecret: "..." ``` I'm pretty sure this is not intended. This need to be fixed inside the code and the documentation must be updated too. It sould be an array or an object and should be consistant between the config documentation and examples. ### Vikunja Version 0.24.6 ### Browser and version _No response_ ### Can you reproduce the bug on the Vikunja demo site? No ### Screenshots _No response_
Author
Owner

@kolaente commented on GitHub (Apr 3, 2025):

The syntax in your very first example is the one in current unstable builds and the next release. The 0.24.6 release uses your second example.

If there is an error while accessing the info endpoint, there should be something in the logs.

@kolaente commented on GitHub (Apr 3, 2025): The syntax in your very first example is the one in current unstable builds and the next release. The 0.24.6 release uses your second example. If there is an error while accessing the info endpoint, there should be something in the logs.
Author
Owner

@regnerisch commented on GitHub (Apr 4, 2025):

But when I use the syntax of version 0.24.6, why vikunja does not show the provider inside the info endpoint nor on sign up or sign in?

It's a little bit confusing that the documentation is for the unstable builds, maybe you consider versioning the documentation as well.

@regnerisch commented on GitHub (Apr 4, 2025): But when I use the syntax of version 0.24.6, why vikunja does not show the provider inside the info endpoint nor on sign up or sign in? It's a little bit confusing that the documentation is for the unstable builds, maybe you consider versioning the documentation as well.
Author
Owner

@regnerisch commented on GitHub (Apr 4, 2025):

Okay I see what I did wrong. The auth.openid.providers.<provider>.authurl is NOT the authorization url of the provider, its just the url/domain where the provider is hosted as vikunja determin the right authorization url from the provider via the OIDC discovery url. Fixing that url, fixed the hole problem.

@regnerisch commented on GitHub (Apr 4, 2025): Okay I see what I did wrong. The `auth.openid.providers.<provider>.authurl` is NOT the authorization url of the provider, its just the url/domain where the provider is hosted as vikunja determin the right authorization url from the provider via the OIDC discovery url. Fixing that url, fixed the hole problem.
Author
Owner

@blalor commented on GitHub (Jun 4, 2025):

I had this same issue. Thanks for detailing what you did, @regnerisch.

@blalor commented on GitHub (Jun 4, 2025): I had this same issue. Thanks for detailing what you did, @regnerisch.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#2207