mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-05 08:39:55 +03:00
Login Loop with OIDC #3729
Closed
opened 2026-02-05 07:16:46 +03:00 by OVERLORD
·
9 comments
No Branch/Tag Specified
development
l10n_development
further_theme_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🐛 Bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#3729
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 @kakt1s on GitHub (Apr 4, 2023).
Describe the Bug
When attempting to auth with OIDC via Keycloak, after being redirected back to the /oidc/callback endpoint with the code I am being redirected back to the base url (which I assume is intended), but then from there being redirected back to the login screen. No errors or popups are being displayed in the process.
Bookstack version: 21.12.2
Bookstack platform: prebuilt docker container
Keycloack version: 11.0.3
Steps to Reproduce
Deploy docker containers for v21.12.2 via docker-compose (lscr.io/linuxserver/bookstack)
Configure OIDC settings in .env file
Add bookstack client and protocol mappers in Keycloak
Attempt to log in
Enter IdP creds in keycloak
Get redirected to login screen
Expected Behaviour
Should be authenticated once redirected to the oidc/callback endpoint
Screenshots or Additional Context
No response
Browser Details
No response
Exact BookStack Version
v21.12.2
PHP Version
No response
Hosting Environment
Docker containers running on a Ubuntu 22.04 system, no proxies
@ssddanbrown commented on GitHub (Apr 4, 2023):
Hi @kakt1s,
Before I spend the time trying to emulate this environment could you possibly:
@kakt1s commented on GitHub (Apr 4, 2023):
Sadly, I don't control the system it's on, so if it ends up being a known bug, I won't be able to do much to fix that :/
I have added OIDC to an existing system, I tried adding the external user ids to some users for testing and had the same result. I also tried authenticating with a user that only exists in Keycloak and had the login loop issue as well.
For screenshots, my bookstack instance is on an offline network so I can't add screenshots, but I can give you the values of any relevant fields you're needing.
Sorry for the hassle with my environment.
@kakt1s commented on GitHub (Apr 4, 2023):
For the keycloak configs, I just created the client and set the access type to confidential, then added the email and profile scopes to it's optional client scopes. The email and profile scopes are tied to protocol mappers of the same names.
I believe those are the only real changes I made from the client defaults in Keycloak
@kakt1s commented on GitHub (Apr 4, 2023):
Also, when I set OIDC_DUMP_USER_DETAILS, I get a successful dump of the authenticated user's data. Not sure if that helps with troubleshooting or not
@ssddanbrown commented on GitHub (Apr 4, 2023):
That does indeed. I'm fairly sure you're hitting an error scenario, but BookStack is not managing to show you the error message (Gets lost in the journey) which is something I fixed in
ce566bea2a, which was part of v22.02.Since you're getting to the stage of dumping user details, I can only guess the following error scenarios (Since these happen after):
external_auth_idexact match tosubclaim) but their email already exists in the system.Getting updated would really benefit here.
@kakt1s commented on GitHub (Apr 4, 2023):
Sadly, I stood up another test stack with docker running v23.02.2 and it works with my Keycloak config and my oidc configs without issue. If I go to upgrade to that with my current data set, will I run into schema issues?
@ssddanbrown commented on GitHub (Apr 5, 2023):
I'm assuming that test stack was lacking the same set of existing users, and therefore may indicate you're erroring on the third point listed in my last comment.
Depends on how you go about it.
Either way, be sure to have backups first.
If you're just upgrading the existing instance in-place, that generally should be fine. The system is designed to be upgradable from any previous release. database migrations should run on first start of the new container version (Be sure to watch logs and note any logs on first start-up, as subsequent errors can be misguiding).
If you're intended to migrate to that separate test stack, that's also possible but the order very much matters. You should not merge the database another with existing tables.
I go through backup/restore/update procedures in detail, for this kind of stack, in my video here:
https://www.youtube.com/watch?v=6A8hLuQTkKQ
@kakt1s commented on GitHub (Apr 5, 2023):
I got approval for an update and it's working now, thanks for your help.
@ssddanbrown commented on GitHub (Apr 5, 2023):
@kakt1s Good news!
Enjoy all the new features added last year and this year so far!