# No longer able to login via OIDC

**URL:** <https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113>\
**Category:** Bug\
**Created:** [10 December 2024 21:12 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113 "2024-12-10T21:12:29Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Grim73](https://community.vikunja.io/user_avatar/community.vikunja.io/grim73/32/1659_2.png) [@Grim73](https://community.vikunja.io/u/Grim73)\
**Post date:** [10 December 2024 21:12 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/1 "2024-12-10T21:12:29Z")

</div>

I have tried all config options I can. I run the `unstable` build of vikunja. Saw the [map instead of array](https://kolaente.dev/vikunja/vikunja/commit/05349ddb5c9d62a59ab1b997984d0b97f24df247) from [Configure OpenID via environment](https://community.vikunja.io/t/configure-openid-via-environment/628) post, and tried to remap my config. Wheter I use the

> **default config:**
>
> ```yaml
> auth:
> openid:
> providers:
> - name: foo
> clientid: ...
> 
> ```

> **or new:**
>
> ```yaml
> auth:
> openid:
> providers:
> foo:
> clientid: ...
> 
> ```

I cannot get my (previously) working login button to appear

 ![image](https://community.vikunja.io/uploads/default/original/2X/a/a42da4500d9371b952101c991e223197f08f2758.jpeg)

I can confirm working order of all Vikunja, as my API calls still work, Android app, and Home assistant plugin run just fine still. Being unable to access my instance from the web is a minor inconvenience, but would be awesome if anyone had an idea, it would be helpful

> **Current openid config**
>
> ```yaml
> auth:
> local:
> enabled: false
> openid:
> enabled: true
> #redirecturl: "https://vikunja.tld/auth/openid/"
> providers:
> authentik:
> authurl: "https://authentik.tld/application/o/vikunja"
> #logouturl: "https://authentik.tld/application/o/vikunja/end-session/"
> clientid: ...
> clientsecret: ...
> scope: openid email profile vikunja_scope
> 
> ```

---

<div class="post-metadata">

**Author:** ![kolaente](https://community.vikunja.io/user_avatar/community.vikunja.io/kolaente/32/5_2.png) [@kolaente](https://community.vikunja.io/u/kolaente)\
**Post date:** [10 December 2024 22:05 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/2 "2024-12-10T22:05:24Z")

</div>

Is there anything in Vikunjas logs?

---

<div class="post-metadata">

**Author:** ![Grim73](https://community.vikunja.io/user_avatar/community.vikunja.io/grim73/32/1659_2.png) [@Grim73](https://community.vikunja.io/u/Grim73)\
**Post date:** [10 December 2024 22:25 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/3 "2024-12-10T22:25:46Z")

</div>

`vikunja-1 | 2024-12-10T20:38:50Z: INFO ▶ 001 Using config file: /etc/vikunja/config.yml`  
then it seems to run through my metrics connections, I will dig through more later tonight. When I go to my `/api/v1/info` page, this is what I get as well:

 ![image](https://community.vikunja.io/uploads/default/original/2X/e/e45e18aa1c252cddc6ae620b37440a4d5181f89b.png)

### EDIT:

```yaml
vikunja-1 | 2024-12-11T02:09:07Z: INFO ▶ 001 Using config file: /etc/vikunja/config.yml                                                                                                                                        
vikunja-1 | 2024-12-11T02:09:07Z: INFO ▶ 001 Using config file: /etc/vikunja/config.yml                                                                                                                                        
vikunja-1 | 2024-12-11T02:09:08Z: INFO ▶ 001 Using config file: /etc/vikunja/config.yml                                                                                                                                        
vikunja-1 | ⇨ http server started on [::]:3456

```

That is all the log gives when restarting Vikunja before it starts relaying metrics to relay, here is an example of a login through the android app; when attempting to login to the app I get the same screen, already authenticated sessions seem to be fine:

```auto
2024-12-11T01:11:45Z: WEB ▶ IP.ADDR.HERE GET 304 /assets/es-ES-legacy-BUMxlyNR.js 205.599µs - Mozilla/5.0 (Linux; Android 13; SM-G781U Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4
.0 Chrome/131.0.6778.39 Mobile Safari/537.36

```

---

<div class="post-metadata">

**Author:** ![kolaente](https://community.vikunja.io/user_avatar/community.vikunja.io/kolaente/32/5_2.png) [@kolaente](https://community.vikunja.io/u/kolaente)\
**Post date:** [11 December 2024 10:07 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/4 "2024-12-11T10:07:39Z")

</div>

When you restart Vikunja and then access the `/info` endpoint for the first time, do you see anything in the logs?

---

<div class="post-metadata">

**Author:** ![Grim73](https://community.vikunja.io/user_avatar/community.vikunja.io/grim73/32/1659_2.png) [@Grim73](https://community.vikunja.io/u/Grim73)\
**Post date:** [11 December 2024 18:16 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/5 "2024-12-11T18:16:34Z")

</div>

```json
{"version":"v0.24.1-551-e8a07fc8e0","frontend_url":"https://vikunja.tld/","motd":"","link_sharing_enabled":true,"max_file_size":"20MB","registration_enabled":true,"available_migrators":["vikunja-file","ticktick"],"task_attachments_enabled":true,"enabled_background_providers":["upload","unsplash"],"totp_enabled":true,"legal":{"imprint_url":"","privacy_policy_url":""},"caldav_enabled":true,"auth":{"local":{"enabled":false},"openid_connect":{"enabled":true,"providers":[]}},"email_reminders_enabled":true,"user_deletion_enabled":true,"task_comments_enabled":true,"demo_mode_enabled":false,"webhooks_enabled":true,"public_teams_enabled":false}

```

Here is the log, doesn’t give me anything else.

---

<div class="post-metadata">

**Author:** ![kolaente](https://community.vikunja.io/user_avatar/community.vikunja.io/kolaente/32/5_2.png) [@kolaente](https://community.vikunja.io/u/kolaente)\
**Post date:** [11 December 2024 18:43 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/6 "2024-12-11T18:43:36Z")

</div>

This looks like the API response, is there anything in Vikunja’s logs when you access the endpoint for the first time after restart?

---

<div class="post-metadata">

**Author:** ![Grim73](https://community.vikunja.io/user_avatar/community.vikunja.io/grim73/32/1659_2.png) [@Grim73](https://community.vikunja.io/u/Grim73)\
**Post date:** [12 December 2024 16:17 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/7 "2024-12-12T16:17:54Z")

</div>

```yaml
vikunja-1 | ⇨ http server started on [::]:3456
vikunja-1 | 2024-12-12T16:09:03Z: WEB ▶ IP GET 200 /login 2.187641ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0
vikunja-1 | 2024-12-12T16:09:03Z: WEB ▶IP GET 200 /api/v1/info 246.901µs - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0
vikunja-1 | 2024-12-12T16:09:04Z: WEB ▶ IP GET 304 /sw.js 1.111561ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0

```

Not really, no errors that I can tell.

---

<div class="post-metadata">

**Author:** ![kolaente](https://community.vikunja.io/user_avatar/community.vikunja.io/kolaente/32/5_2.png) [@kolaente](https://community.vikunja.io/u/kolaente)\
**Post date:** [13 December 2024 20:36 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/8 "2024-12-13T20:36:58Z")

</div>

Just to confirm, you’re still using the openid config from your original comment here in this thread?

---

<div class="post-metadata">

**Author:** ![Grim73](https://community.vikunja.io/user_avatar/community.vikunja.io/grim73/32/1659_2.png) [@Grim73](https://community.vikunja.io/u/Grim73)\
**Post date:** [13 December 2024 21:16 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/9 "2024-12-13T21:16:09Z")

</div>

That is correct, to be clear, I am using double quotes (") around my `authurl` no quotes surround my `clientid/secret` and no quotes surrounding `scope`.

EDIT: Here is my full (scrubbed) config FWIW, double checked my yaml to make sure it wasn’t a syntax issue as well:

```yaml
service:
    # The public facing URL where your users can reach Vikunja. Used in emails and for the communication between api and frontend.
  publicurl: "https://vikunja.tld" 
  rootpath: "/etc/vikunja/"
  customlogourl: 'https://img.url.tld/u/WOC13r.png'
log:
  # A folder where all the logfiles should go.
  path: <rootpath>logs
  # Whether to show any logging at all or none
  enabled: false
  # Where the normal log should go. Possible values are stdout, stderr, file or off to disable standard logging.
  standard: "stdout"
  # Change the log level. Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG.
  level: "DEBUG"
  # Whether or not to log database queries. Useful for debugging. Possible values are stdout, stderr, file or off to disable database logging.
  database: "stdout"
  # The log level for database log messages. Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG.
  databaselevel: "DEBUG"
  # Whether to log http requests or not. Possible values are stdout, stderr, file or off to disable http logging.
  http: "stdout"
  # Echo has its own logging which usually is unnecessary, which is why it is disabled by default. Possible values are stdout, stderr, file or off to disable standard logging.
  echo: "stdout"
  # Whether or not to log events. Useful for debugging. Possible values are stdout, stderr, file or off to disable events logging.
  events: "stdout"
  # The log level for event log messages. Possible values (case-insensitive) are ERROR, INFO, DEBUG.
  eventslevel: "DEBUG"
  # Whether or not to log mail log messages. This will not log mail contents. Possible values are stdout, stderr, file or off to disable mail-related logging.
  mail: "stdout"
  # The log level for mail log messages. Possible values (case-insensitive) are ERROR, WARNING, INFO, DEBUG.
  maillevel: "info"
typesense:
  enabled: true
  url: 'http://IP.ADDR:8108'
  apikey: 'xyz'
cors:
  enable: true
  origins:
    - "*"
backgrounds:
  enabled: true
  providers:
    upload:
      enabled: true
    unsplash:
      enabled: true
      accesstoken: ...
      applicationid: ...
auth:
  local:
    enabled: false
  openid:
    enabled: true
   # redirecturl: "https://vikunja.tld/auth/openid/"
    providers:
      authentik:
        authurl: "https://authentik.tld/application/o/vikunja"
        #logouturl: "https://authentik.tlk/application/o/vikunja/end-session/"
        clientid: ...
        clientsecret: ...
        scope: openid email profile vikunja_scope
# Prometheus metrics endpoint
metrics:
  # If set to true, enables a /metrics endpoint for prometheus to collect metrics about Vikunja. You can query it from `/api/v1/metrics`.
  enabled: true
  # If set to a non-empty value the /metrics endpoint will require this as a username via basic auth in combination with the password below.
  username:
  # If set to a non-empty value the /metrics endpoint will require this as a password via basic auth in combination with the username below.
  password:

```

EDIT 2:

Reverted config to the old config to test:

```yaml
service:
    # The public facing URL where your users can reach Vikunja. Used in emails and for the communication between api and frontend.
  publicurl: "https://vikunja.tld" 
  rootpath: "/etc/vikunja/"
  customlogourl: 'https://img.url.tld/u/WOC13r.png'
log:
  # A folder where all the logfiles should go.
  path: <rootpath>logs
  # Whether to show any logging at all or none
  enabled: false
  # Where the normal log should go. Possible values are stdout, stderr, file or off to disable standard logging.
  standard: "stdout"
  # Change the log level. Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG.
  level: "DEBUG"
  # Whether or not to log database queries. Useful for debugging. Possible values are stdout, stderr, file or off to disable database logging.
  database: "stdout"
  # The log level for database log messages. Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG.
  databaselevel: "DEBUG"
  # Whether to log http requests or not. Possible values are stdout, stderr, file or off to disable http logging.
  http: "stdout"
  # Echo has its own logging which usually is unnecessary, which is why it is disabled by default. Possible values are stdout, stderr, file or off to disable standard logging.
  echo: "stdout"
  # Whether or not to log events. Useful for debugging. Possible values are stdout, stderr, file or off to disable events logging.
  events: "stdout"
  # The log level for event log messages. Possible values (case-insensitive) are ERROR, INFO, DEBUG.
  eventslevel: "DEBUG"
  # Whether or not to log mail log messages. This will not log mail contents. Possible values are stdout, stderr, file or off to disable mail-related logging.
  mail: "stdout"
  # The log level for mail log messages. Possible values (case-insensitive) are ERROR, WARNING, INFO, DEBUG.
  maillevel: "info"
typesense:
  enabled: true
  url: 'http://IP.ADDR:8108'
  apikey: 'xyz'
cors:
  enable: true
  origins:
    - "*"
backgrounds:
  enabled: true
  providers:
    upload:
      enabled: true
    unsplash:
      enabled: true
      accesstoken: ...
      applicationid: ...
auth:
  local:
    enabled: false
  openid:
    enabled: true
   # redirecturl: "https://vikunja.tld/auth/openid/"
    providers:
      - name: "authentik"
        authurl: "https://authentik.tld/application/o/vikunja"
        #logouturl: "https://authentik.tlk/application/o/vikunja/end-session/"
        clientid: ...
        clientsecret: ...
        scope: openid email profile vikunja_scope
# Prometheus metrics endpoint
metrics:
  # If set to true, enables a /metrics endpoint for prometheus to collect metrics about Vikunja. You can query it from `/api/v1/metrics`.
  enabled: true
  # If set to a non-empty value the /metrics endpoint will require this as a username via basic auth in combination with the password below.
  username:
  # If set to a non-empty value the /metrics endpoint will require this as a password via basic auth in combination with the username below.
  password:

```

and still no luck, I can confirm if I create an intentional syntax error (or accidental) I get the local login, and it shows in an error in `config` in the logs, and reverting to a default config etc.

---

<div class="post-metadata">

**Author:** ![Grim73](https://community.vikunja.io/user_avatar/community.vikunja.io/grim73/32/1659_2.png) [@Grim73](https://community.vikunja.io/u/Grim73)\
**Post date:** [20 December 2024 04:42 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/10 "2024-12-20T04:42:41Z")

</div>

As of the latest `unstable` this still isn’t working

---

<div class="post-metadata">

**Author:** ![kolaente](https://community.vikunja.io/user_avatar/community.vikunja.io/kolaente/32/5_2.png) [@kolaente](https://community.vikunja.io/u/kolaente)\
**Post date:** [20 December 2024 17:37 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/11 "2024-12-20T17:37:24Z")

</div>

Which exact version are you using? (As reported via the cli or the frontend)

---

<div class="post-metadata">

**Author:** ![Grim73](https://community.vikunja.io/user_avatar/community.vikunja.io/grim73/32/1659_2.png) [@Grim73](https://community.vikunja.io/u/Grim73)\
**Post date:** [20 December 2024 21:52 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/12 "2024-12-20T21:52:49Z")

</div>

`version	"v0.24.1-594-c97fec9fed"` according to `/info`

---

<div class="post-metadata">

**Author:** ![kolaente](https://community.vikunja.io/user_avatar/community.vikunja.io/kolaente/32/5_2.png) [@kolaente](https://community.vikunja.io/u/kolaente)\
**Post date:** [21 December 2024 14:35 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/13 "2024-12-21T14:35:43Z")

</div>

And which config are you using?

---

<div class="post-metadata">

**Author:** ![Grim73](https://community.vikunja.io/user_avatar/community.vikunja.io/grim73/32/1659_2.png) [@Grim73](https://community.vikunja.io/u/Grim73)\
**Post date:** [21 December 2024 15:48 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/14 "2024-12-21T15:48:30Z")

</div>

the new config is what is currently running, have tried with both still though.

---

<div class="post-metadata">

**Author:** ![kolaente](https://community.vikunja.io/user_avatar/community.vikunja.io/kolaente/32/5_2.png) [@kolaente](https://community.vikunja.io/u/kolaente)\
**Post date:** [22 December 2024 22:47 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/15 "2024-12-22T22:47:49Z")

</div>

And you’re still seeing nothing in the logs when accessing /info after first starting it?

I don’t really know why it would fail without an error logged here…

---

<div class="post-metadata">

**Author:** ![acelinkio](https://community.vikunja.io/user_avatar/community.vikunja.io/acelinkio/32/2416_2.png) [@acelinkio](https://community.vikunja.io/u/acelinkio)\
**Post date:** [18 September 2025 02:43 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/16 "2025-09-18T02:43:23Z")

</div>

I am facing this issue using the `docker.io/vikunja/vikunja:1.0.0-rc2` image

my full configuration can be found here [argocd-homelab/pineapp/vikunja/manifest.yaml at main · acelinkio/argocd-homelab · GitHub](https://github.com/acelinkio/argocd-homelab/blob/main/pineapp/vikunja/manifest.yaml). There just is no button to click login. i don’t see any errors and i’ve tried removing oidc–still nothing

fresh instance setup too!

---

<div class="post-metadata">

**Author:** ![kolaente](https://community.vikunja.io/user_avatar/community.vikunja.io/kolaente/32/5_2.png) [@kolaente](https://community.vikunja.io/u/kolaente)\
**Post date:** [18 September 2025 06:46 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/17 "2025-09-18T06:46:20Z")

</div>

You’re using the old syntax. Look at the docs for the new openid config syntax: [https://vikunja.io/docs/openid/#step-2-configure-vikunja](https://vikunja.io/docs/openid/#step-2-configure-vikunja)

---

<div class="post-metadata">

**Author:** ![acelinkio](https://community.vikunja.io/user_avatar/community.vikunja.io/acelinkio/32/2416_2.png) [@acelinkio](https://community.vikunja.io/u/acelinkio)\
**Post date:** [19 September 2025 16:49 UTC](https://community.vikunja.io/t/no-longer-able-to-login-via-oidc/3113/18 "2025-09-19T16:49:39Z")

</div>

thanks! that was absolutely it. switched and everything is working again!
