This is important knowledge for ALL iFrame users, server access may be necessary for full resolution.
Chrome has changed the default behavior for how cookies will be sent in first and third party contexts.
- Cookies that do not specify a
SameSiteattribute will be treated as if they specified
SameSite=Lax, i.e. they will be restricted to first-party or same-site contexts by default.
- Cookies that are intended for third-party or cross-site contexts must specify
Note: this also means cross-site or third-party cookies are restricted to secure / HTTPS connections only.
For More Information: The Chromium Projects, SameSite Changes
How Do I Know if this Effects Me?
This is for Chrome 80+, Edge 80+, Firefox 69+, Opera 67+, Android Webview 80+, Chrome for Andriod 80+ and if you are using another web browser or are unsure of your browser version you can check your browser by opening the following link in that browser: https://samesite-sandbox.glitch.me/
How Does this Effect iDashboards?
If you are someone who places iDashboards into another website's iFrame, then this may effect you. Your users will try to log in, enter their credentials, and the screen will return back to the blank login screen as though you entered no credentials at all. Then you may go to check your log file, only to find there are NO errors within iDashboards.
So then we go into the web browsers developer tools to help us see what may be going on.
In Chrome and Edge (Firefox)
- More tools (Web Developer)
- Developer Tools (Toggle Tools)
OR just use CTRL + Shift + I
Within these tools select:
Sources at the top and the webpage you want to look at on the left. This is in dark Chrome so it may look different in different web browsers.
At the bottom you see: Blocked autofocusing on a <input> element in a cross-origin subframe. So after all of this, we have found that this is a bug within the Tomcat structure in which the same-site cookie does not allow iDashboards cookies to be created.
Quick Fix: Individual Users
So a quick fix would be to disable the SameSite by default cookies
- Open Chrome
- Paste into url bar: chrome://flags/#same-site-by-default-cookies
- It will look as shown below except instead of disabled it will say Default, change it to Disabled (there may be two other SameSite cookie settings you also need to disable).
- Allow it to restart and your dashboards will work again.
Quick Fix: Whole Organization
To resolve this for the whole organization edit the context.xml which is located:
Copy and paste the line below in between the context tags <Context></Context>
Note: This must be completed on the server.
<CookieProcessor sameSiteCookies="none" />
For More Information: Tomcat SameSite Cookie Bug
Permanent Fix: Whole Organization
Tomcat 9.0.39 requires Java 8 or later. This must be fixed on the server.
For More Information: iDashboards Advanced Topics (requires server access)
If the above is unable to resolve the issue, then please contact iDashboards Support for further assistance.