-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calls to manifest, without a referrer, affect session history and back redirect navigation #4649
Comments
Hi @ntimo,
|
@ssddanbrown Yes I just tested this with Firefox and there the issue does not happen. But when using Chrome or Chromium it happens, which is kind of odd. The Chromium I tested this with has 0 extensions installed. Chromium version: Version 118.0.5993.70 (Official Build) Fedora Project (64-bit) |
Realised my Chromium was a bit behind. Updated but still works fine for me. I could kind see ways how this could occur if the manifest was being loaded on every page load, but not sure why that might be, and have not been able to quickly force-replicate that scenario.
|
Maybe its worth noting that I am using the linux server docker image to host booktack |
I can reproduce this, just by clicking the Toggle dark mode button even without being logged. It fails on Firefox on Android, but works on Firefox for Desktop. |
@fdelapena Is this reproducible on our demo instance? If not, how are you running/hosting BookStack? |
Hello, as mentioned on the Discord server I encounter the same issue. When I switch to dark mode on the macOS system I get the Both ways are reproducible. Let me know if I can provide more information which can help. |
Can't reproduce it on the demo instance. The server setup is:
<VirtualHost *:443>
ServerName foo.example.org
SSLEngine on
DocumentRoot /var/www/foo.example/public
<Directory /var/www/foo.example/public>
AllowOverride All
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set Expect-Staple "max-age=31536000; includeSubDomains; preload"
Header set Permissions-Policy "usb=()"
Header set Referrer-Policy "no-referrer"
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "DENY"
Header set X-XSS-Protection "0"
</Directory>
</VirtualHost>
|
I don't know if this helps but I found another way to reproduce this issue: when ever I change the view from |
Thank you @fdelapena, @ntimo and @arl4223 for all the extra information. I have now been able to reproduce this. This was made a little more annoying to reproduce by browsers seemingly having strict and differing behaviour as to when the manifest would be requested. Self-signed certs, or private windows, would change the behaviour. I'll update the manifest link to not pass credentials, so a session is not used for this call and therefore this isn't added to the user session history. A better way to address this would be to avoid this URL being tracked but that requires some deeper overriding of the framework, which I wouldn't want to do in a patch and I'm not sure it'd be worthwhile to maintain. Will get a patch release out soon. @arl4223 Your example with redirect to the image is of the same underlying cause, but specifically when certain image storage options are in use and/or when images are missing/broken. I won't address that specific case right now, since that hasn't be really reported as an issue and would have existed for a long time already, but it's tied up within the above. |
I have now patched this via ea0469e to avoid manifest calls using the session as per the above. I've opened up #4656 with the intent to implement a longer-term solution for this (and similar cases like the image example). This patch will be part of v23.10.2 which should be released within the next hour or so. |
I have just deployed the mentioned update and can confirm, that the Instead I get the "image" issue. I will have a look into the |
Adding |
Describe the Bug
When logging in with OIDC the login is successful, but the browser is then redirected to
/manifest.json
which is confusing, since the user should be redirected to the normal Booktack interface. But after removing /manifest.json from the url to open booktack normally the user is logged in.Steps to Reproduce
Expected Behaviour
The normal landing page should be open on the / url.
Screenshots or Additional Context
My OIDC callback is configured to `/oidc/callback
Browser Details
Chrome Linux
Exact BookStack Version
v23.10.1
The text was updated successfully, but these errors were encountered: