-
Notifications
You must be signed in to change notification settings - Fork 15
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
Account Name
leaks into different sessions
#504
Comments
This issue is caused by Next.js server-side caching. When a user logs in and is redirected to the dashboard, the site_header query sends a request to the /api/feature/get-site-header Next.js API endpoint. Next.js caches the response of this endpoint on the server side. For example, when a user with the account ddmadmin logs in, the response might look like this:
When a new user logs in with a different account on a different machine, the site_header query again requests the /api/feature/get-site-header endpoint. However, instead of executing the feature and generating a fresh response, the server returns the cached response, which includes the rucioAccount from the previous user. |
1 similar comment
This issue is caused by Next.js server-side caching. When a user logs in and is redirected to the dashboard, the site_header query sends a request to the /api/feature/get-site-header Next.js API endpoint. Next.js caches the response of this endpoint on the server side. For example, when a user with the account ddmadmin logs in, the response might look like this:
When a new user logs in with a different account on a different machine, the site_header query again requests the /api/feature/get-site-header endpoint. However, instead of executing the feature and generating a fresh response, the server returns the cached response, which includes the rucioAccount from the previous user. |
Upon further investigation, it seems the responses from Next.js endpoints are being cached by either the HTTPD reverse proxy or the CERN OpenStack LBaaS load balancer. This issue does not occur in dev/prod setups where requests are routed directly to the Next.js endpoint, bypassing additional reverse proxies or load balancers. This confirms that Next.js itself is not caching the responses. |
Possible solutions:
|
Description
The account name property of the session appears to be leaking between user sessions. This issue occurs due to server-side caching in Next.js, where responses from certain API endpoints are cached and shared across sessions. No other session parameters seem to be affected.
Steps to reproduce
Rucio WebUI Version
35.5.0
Additional Information
No response
The text was updated successfully, but these errors were encountered: