mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-24 11:19:38 +03:00
Bump OIDC timeout to 5 seconds #3928
Closed
opened 2026-02-05 07:52:58 +03:00 by OVERLORD
·
11 comments
No Branch/Tag Specified
development
v25-12
l10n_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.7
v25.12.6
v25.12.5
v25.12.4
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
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#3928
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 @nabeelmoeen on GitHub (Jul 24, 2023).
Describe the Bug
same issue as OIDC Discovery Error: cURL error 28: Resolving timed out after 3000 milliseconds
The configuration is based off Authelia's example
I can curl the OIDC auto discovery end points from the bookstack container.
But when attempting to login using authelia Bookstack throws a cURL time out error 28, as indicated in the screenshot.
the Bookstack instance I am using is currently using the default local authentication that i want to reconfigure for use with Authelia OIDC
Steps to Reproduce
Expected Behaviour
Bookstack logs in using authelia authentication
Screenshots or Additional Context
Browser Details
Brave 1.56.11 on windows 11 64-bit
Exact BookStack Version
23.01.1
PHP Version
No response
Hosting Environment
@nabeelmoeen commented on GitHub (Jul 24, 2023):
It appears the Curl command on the bookstack container console is taking just above 4 seconds to run, which may explain the timeout of 3 seconds in the error.
Is there a way to increase the timeout?
the output of
time curl https://auth.mydomain/.well-known/openid-configuration@ssddanbrown commented on GitHub (Jul 24, 2023):
Hi @nabeelmoeen, There is no supported way of changing the timeout, it's a hard-coded value.
The three second timeout is in place mainly to catch error scenarios, since three seconds would generally be far far greater than the time required for this request.
Have you looked into, or do you know, why it's so slow to respond here? Is the auth system running on a particular weak system? Is there something in-between adding latency?
@nabeelmoeen commented on GitHub (Jul 25, 2023):
its on a self hosted server, running proxmox and multiple VMs (each VM has between 1 and 2 GB RAM).
I am also using a dynamic DNS (duckdns), and Caddy reverse proxy. the delay could be any number of factors including the DNS lookup (I also have a pihole running), since I am using the external (public host names) for the services vs. LAN IPs.
Any how, since the auto discovery is consistently performing at between 4-5 seconds, we can confirm that's the cause of the error.and short of either modifying / recompiling the code (locally) or a potential future release providing a configuration option for the timeout, I will revert to using local sign in for bookstack. On Tuesday, 25 July 2023 at 02:46:33 am AEST, Dan Brown @.***> wrote:
Hi @nabeelmoeen, There is no supported way of changing the timeout, it's a hard-coded value.
The three second timeout is in place mainly to catch error scenarios, since three seconds would generally be far far greater than the time required for this request.
Have you looked into, or do you know, why it's so slow to respond here? Is the auth system running on a particular weak system? Is there something in-between adding latency?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>
@ssddanbrown commented on GitHub (Jul 25, 2023):
Okay, I'd suggest debugging and look to address that delay then since 4-5 seconds indicates something going wrong at some stage.
Since I wouldn't look to change the default timeout due to external present issues, and since you've reverted authentication method, I'll close this off.
@LenardHess commented on GitHub (Jul 30, 2023):
I too have encountered a timeout issue running Authelia and Bookstack on a Raspberry Pi 4 Model B rev 1.2.
The access to
/.well-known/openid-configurationviatime curltakes 0.2-0.3s.The culprit on my setup is
POST /api/oidc/token, which takes ~4.2s (measured via tcpdump).I'm also asking in the authelia repo how that time delay can be tuned.
Irrespective of improving the OIDC performance, it would be beneficial of allowing the timeout to be configurable (either a global setting or a dedicated setting for operations that are expected to take longer such auth).
Whats your opinion on such an addition, would you take a pull request for it? (Haven't looked at how easy it would be to add yet 🤔 )
@ssddanbrown commented on GitHub (Jul 30, 2023):
@LenardHess It would be a very simple addition to be honest, but I have a general approach of not adding options without a clear need/purpose. I don't really look to add options if they're simply to work around issues external to BookStack, like this seems to me so far.
If there's a fundamental reason for slow OIDC requests, then I'd be happy to consider that, although I'd probably look to bump the default timeout a bit before resorting to a new option.
@firlevapz commented on GitHub (Sep 3, 2023):
@ssddanbrown hi dan, could u please point me to the location where I could locally overwrite the timeout for these curl-commands? I tried to figure it out myself but failed... thanks a lot!
(i'm running authentik on a raspberry pi and this piece of python software is very slow, so it's always timing out during bookstack logins..)
@ssddanbrown commented on GitHub (Sep 3, 2023):
@firlevapz This is where I believe the timeout is currently defined:
38829f8a38/app/App/Providers/AppServiceProvider.php (L80)Of course, changes to core app files are not supported and may interfere with updates.
Out of interest, just to help identify a need.
time curl https://auth.mydomain/.well-known/openid-configurationto check, replacingauth.mydomain).@firlevapz commented on GitHub (Sep 5, 2023):
great, thanks @ssddanbrown! that worked like a charm - increased the timeout to 5 now, it works flawlessly every time! Maybe that would be a nice improvement to set it to 5 seconds, to solve this bug? But I can also write a custom patch for my setup locally.
@ssddanbrown commented on GitHub (Sep 5, 2023):
Okay, based upon the multiple reports here I'll look to bump the time-out to 5 seconds in the next feature release to provide a little extra time for weaker systems, since all reported so far have been within that time.
I'll re-open this to track that change, and have updated the title to suit.
@ssddanbrown commented on GitHub (Sep 8, 2023):
Within the changes in #4525, this has now been bumped up to 5 seconds.
This will be part of the next feature release.