A cloud-based identity and access management service for securing user authentication and resource access
Hello Jun Huynh,
You’re observing expected behavior in Microsoft Entra ID, even though it looks inconsistent with the documentation at first glance.
In Scenario A (single account), Entra can maintain a clear SP‑initiated logout transaction, so it returns a LogoutResponse to your SP as expected. However, in Scenario B (multiple signed-in accounts), the flow changes after the**“Pick an account”** step. At that point, Entra no longer continues the original SP‑initiated transaction. Instead, it effectively starts a new, IdP‑driven logout flow and performs front‑channel logout across session participants.
As part of this front‑channel SLO implementation, Entra can send LogoutRequest messages (via hidden iframe) to registered logout URLs, even to the SP that initiated the logout. This aligns with the platform’s requirement that applications must always be able to handle incoming LogoutRequest messages, regardless of who initiated the flow.
Because this is a front‑channel (iframe-based) propagation, it does not guarantee a final top-level redirect back to your SP, which is why the browser remains on the Entra /logoutsession page even though your SP responds successfully.
How to handle this correctly
- Your SP should support both LogoutRequest and LogoutResponse and not rely only on receiving a LogoutResponse.
- Treat an incoming LogoutRequest (even for the same SessionIndex) as a valid signal to terminate the session.
- Do not depend on Entra to always redirect the user back to your application after logout.
- If a consistent UX is required, minimize multi-account scenarios (for example, by avoiding the account picker where possible).
Conclusion
This behavior is expected in multi-account scenarios due to Entra’s front‑channel logout orchestration. The “exclude initiating participant” rule applies only when the original SLO transaction is preserved end‑to‑end, which is not the case after account selection.