[GH-ISSUE #5248] [Bug]: Unable to Disable OpenID #9174

Closed
opened 2026-04-10 19:28:12 -05:00 by GiteaMirror · 7 comments
Owner

Originally created by @latetedemelon on GitHub (Jun 28, 2025).
Original GitHub issue: https://github.com/actualbudget/actual/issues/5248

Verified issue does not already exist?

  • I have searched and found no existing issue

What happened?

It seems to be impossible to disable openID both from the front end and the back end.

How can we reproduce the issue?

  1. Attempt to Disable Open ID from the front end
  2. Enter your password
  3. Get an invalid password on the front end and a 401 in the logs (info: POST 401 /openid/disable)

Alternative, attempting from the backend:

root@stable:/opt/appdata/actual# docker exec -it actualserver node /app/src/scripts/reset-password.js
  actual:config Project root: '/app' +0ms
  actual:config Actual web build path: '/app/node_modules/@actual-app/web/build' +3ms
  actual:config loading config from default path: '/data/config.json' +7ms
  actual:config Validating config +0ms
  actual:config Project root: /app +2ms
  actual:config Port: 5006 +0ms
  actual:config Hostname: :: +0ms
  actual:config Data directory: /data +0ms
  actual:config Server files: /data/server-files +0ms
  actual:config User files: /data/user-files +0ms
  actual:config Web root: /app/node_modules/@actual-app/web/build +0ms
  actual:config Login method: password +0ms
  actual:config Allowed methods: password +1ms
It looks like you already have a password set. Let’s reset it!
Enter a password, then press enter: *********
Enter the password again, then press enter: *********
Password changed!
Note: you will need to log in with the new password on any browsers or devices that are currently logged in.
root@stable:/opt/appdata/actual# docker exec -it actualserver node /app/src/scripts/disable-openid.js
  actual:config Project root: '/app' +0ms
  actual:config Actual web build path: '/app/node_modules/@actual-app/web/build' +2ms
  actual:config loading config from default path: '/data/config.json' +8ms
  actual:config Validating config +0ms
  actual:config Project root: /app +2ms
  actual:config Port: 5006 +0ms
  actual:config Hostname: :: +0ms
  actual:config Data directory: /data +0ms
  actual:config Server files: /data/server-files +0ms
  actual:config User files: /data/user-files +0ms
  actual:config Web root: /app/node_modules/@actual-app/web/build +0ms
  actual:config Login method: password +0ms
  actual:config Allowed methods: password +1ms
To disable OpenID, you have to enter your server password:
Current login method: openid
Enter a password, then press enter: *********
Enter the password again, then press enter: *********
Error disabling OpenID: invalid-password
Please report this as an issue: https://github.com/actualbudget/actual-server/issues
root@stable:/opt/appdata/actual# 

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Chrome

Operating System

Linux

Originally created by @latetedemelon on GitHub (Jun 28, 2025). Original GitHub issue: https://github.com/actualbudget/actual/issues/5248 ### Verified issue does not already exist? - [x] I have searched and found no existing issue ### What happened? It seems to be impossible to disable openID both from the front end and the back end. ### How can we reproduce the issue? 1) Attempt to Disable Open ID from the front end 2) Enter your password 3) Get an invalid password on the front end and a 401 in the logs (info: POST 401 /openid/disable) Alternative, attempting from the backend: ``` root@stable:/opt/appdata/actual# docker exec -it actualserver node /app/src/scripts/reset-password.js actual:config Project root: '/app' +0ms actual:config Actual web build path: '/app/node_modules/@actual-app/web/build' +3ms actual:config loading config from default path: '/data/config.json' +7ms actual:config Validating config +0ms actual:config Project root: /app +2ms actual:config Port: 5006 +0ms actual:config Hostname: :: +0ms actual:config Data directory: /data +0ms actual:config Server files: /data/server-files +0ms actual:config User files: /data/user-files +0ms actual:config Web root: /app/node_modules/@actual-app/web/build +0ms actual:config Login method: password +0ms actual:config Allowed methods: password +1ms It looks like you already have a password set. Let’s reset it! Enter a password, then press enter: ********* Enter the password again, then press enter: ********* Password changed! Note: you will need to log in with the new password on any browsers or devices that are currently logged in. root@stable:/opt/appdata/actual# docker exec -it actualserver node /app/src/scripts/disable-openid.js actual:config Project root: '/app' +0ms actual:config Actual web build path: '/app/node_modules/@actual-app/web/build' +2ms actual:config loading config from default path: '/data/config.json' +8ms actual:config Validating config +0ms actual:config Project root: /app +2ms actual:config Port: 5006 +0ms actual:config Hostname: :: +0ms actual:config Data directory: /data +0ms actual:config Server files: /data/server-files +0ms actual:config User files: /data/user-files +0ms actual:config Web root: /app/node_modules/@actual-app/web/build +0ms actual:config Login method: password +0ms actual:config Allowed methods: password +1ms To disable OpenID, you have to enter your server password: Current login method: openid Enter a password, then press enter: ********* Enter the password again, then press enter: ********* Error disabling OpenID: invalid-password Please report this as an issue: https://github.com/actualbudget/actual-server/issues root@stable:/opt/appdata/actual# ``` ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Chrome ### Operating System Linux
GiteaMirror added the bugneeds info labels 2026-04-10 19:28:12 -05:00
Author
Owner

@youngcw commented on GitHub (Jun 29, 2025):

@lelemm

<!-- gh-comment-id:3017104506 --> @youngcw commented on GitHub (Jun 29, 2025): @lelemm
Author
Owner

@lelemm commented on GitHub (Jun 30, 2025):

Hi @latetedemelon , did you ever set a password?
You can use the reset password command before trying to disable the Openid

<!-- gh-comment-id:3020611782 --> @lelemm commented on GitHub (Jun 30, 2025): Hi @latetedemelon , did you ever set a password? You can use the reset password command before trying to disable the Openid
Author
Owner

@github-actions[bot] commented on GitHub (Jul 9, 2025):

This issue has been automatically closed because there have been no comments for 7 days after the "needs info" label was added. If you still need help, please feel free to reopen the issue with the requested information.

<!-- gh-comment-id:3050883825 --> @github-actions[bot] commented on GitHub (Jul 9, 2025): This issue has been automatically closed because there have been no comments for 7 days after the "needs info" label was added. If you still need help, please feel free to reopen the issue with the requested information.
Author
Owner

@latetedemelon commented on GitHub (Jul 9, 2025):

Hi @latetedemelon , did you ever set a password? You can use the reset password command before trying to disable the Openid

Yes I have, and I reset before I attempted to disable.

<!-- gh-comment-id:3051318894 --> @latetedemelon commented on GitHub (Jul 9, 2025): > Hi [@latetedemelon](https://github.com/latetedemelon) , did you ever set a password? You can use the reset password command before trying to disable the Openid Yes I have, and I reset before I attempted to disable.
Author
Owner

@latetedemelon commented on GitHub (Aug 6, 2025):

Coming back as I was able to address this manually. Despite resetting the password and forcing authentication by password I was unable to revert. Examining the auth table in the DB showed that there was only one row; for my OAUTH settings. Inserting a new row for the password option and resetting my password allowed me to both:

  • Log in with my password
  • Remove Oauth
<!-- gh-comment-id:3161927809 --> @latetedemelon commented on GitHub (Aug 6, 2025): Coming back as I was able to address this manually. Despite resetting the password and forcing authentication by password I was unable to revert. Examining the auth table in the DB showed that there was only one row; for my OAUTH settings. Inserting a new row for the password option and resetting my password allowed me to both: - Log in with my password - Remove Oauth
Author
Owner

@chrispazz commented on GitHub (Dec 11, 2025):

Same problem here. Is there a solution without opening the sqlite db?
can't disable opened (that is currently not working in my setup) since the password I put in the field is not recognised (and is the same I use to log in AB and it is working).

<!-- gh-comment-id:3640964827 --> @chrispazz commented on GitHub (Dec 11, 2025): Same problem here. Is there a solution without opening the sqlite db? can't disable opened (that is currently not working in my setup) since the password I put in the field is not recognised (and is the same I use to log in AB and it is working).
Author
Owner

@htruane commented on GitHub (Jan 29, 2026):

I hit this too. API seems to need password, and I want to use a custom importer, so can't have OIDC unfortunately.

To me, this seems to be a real issue with the logic of disableOpenID, i.e. it can't work unless the budget was created with a password.

<!-- gh-comment-id:3815133551 --> @htruane commented on GitHub (Jan 29, 2026): I hit this too. API seems to need password, and I want to use a custom importer, so can't have OIDC unfortunately. To me, this seems to be a real issue with the logic of disableOpenID, i.e. it can't work unless the budget was created with a password.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#9174