Hi everyone,
I’m encountering an inconsistent behavior with system.perspective.login(forceAuth=True) when using Perspective Workstation on a dual-monitor setup, where both workstation windows share the same Perspective session. I’m trying to determine whether this behavior is expected or if there is a recommended workaround.
Setup
-
Ignition (gateway and workstation) version: 8.1.49
-
Perspective Workstation on a machine with two monitors, each displaying a different window of the same session.
-
Both windows naturally share session state (Workstation limitation/behavior).
-
Authentication is done via an external IdP (ADFS - SAML).
Additional Context — Two Different Users
The session begins with User A already authenticated on the IdP.
When a forced re-authentication is triggered, the IdP prompt appears and User B logs in, replacing User A for the shared session.
This user change (A → B) is expected.
However, the UI navigation results differ depending on which window triggers the authentication.
Observed Behavior
Case 1 — Login Triggered From Secondary Monitor (Desired Behavior)
Calling system.perspective.login(forceAuth=True) from the secondary monitor’s window results in:
-
Only that window redirects to the IdP.
-
After User B logs in, only the triggering window returns to the workstation’s configured home page.
-
The primary window stays on its current page, although session variables update to reflect User B.
This is the desired behavior.
Case 2 — Login Triggered From Primary Monitor (Undesired Behavior)
When the same function is called from the primary monitor’s window:
-
Redirect to the IdP occurs normally.
-
After User B logs in, both windows are redirected to the home page.
-
This resets both screens
This behavior is undesirable, and inconsistent with Case 1.
Expected Behavior
Even with a shared session and changing user identity, the post-authentication redirect should ideally affect only the window that initiated the authentication, just as it does when triggered from the secondary monitor.
Additional Tests and Findings
1. Using system.perspective.authenticationChallenge
When using system.perspective.authenticationChallenge(idp="AnotherIdP", framing="new")
Since Workstation does not support "new" framing, it falls back to "self".
The result is the same: triggering from the primary window causes both workstation windows to reload, regardless of IdP used.
2. Behavior in a Standard Web Browser (Chrome/Edge/etc.)
When running the same project in a standard browser, opening two tabs (same session) on two monitors:
-
The desired behavior works perfectly.
-
Triggering
forceAuth=Truefrom one tab only redirects that tab. -
The other tab stays on its current page, but session variables update normally.
This strongly suggests the issue is specific to Perspective Workstation’s multi-window/session handling, not to Perspective or the IdP itself.
Is this a bug or an architectural limitation of Workstation?
Any insights or recommendations on how to prevent global screen resets in a multi-monitor Workstation environment would be greatly appreciated.
Thanks!