Skip to content
This repository has been archived by the owner on Sep 18, 2021. It is now read-only.

Make LoggedOut page wait to redirect until iframes are loaded #3519

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

dherr
Copy link

@dherr dherr commented Feb 14, 2017

Addresses issue #3212, where PostSignOutAutoRedirectDelay=0 often causes the page to redirect before the single sign-out iframes have loaded. Increasing PostSignOutAutoRedirectDelay prevents the error, but involves a trade-off between allowing for slow connections and causing unnecessarily long delays.

This PR detects when the iframes are loaded by adding onload event handlers using an angular directive. When PostSignOutAutoRedirectDelay==0, it redirects when all iframes have loaded. When PostSignOutAutoRedirectDelay > 0, it will force a redirect after the delay has passed, but will redirect sooner if the iframes are finished. This maintains existing functionality by allowing a maximum delay to be specified, while otherwise providing the fastest possible sign-out flow.

A similar approach is used in IdentityServer4 by redirecting on window-load. Since we need to use IdentityServer3 for a while longer, I was looking for a way to accomplish the same thing using its angular-generated signout iframes.

@dnfclas
Copy link

dnfclas commented Feb 14, 2017

Hi @dherr, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@dnfclas
Copy link

dnfclas commented Feb 14, 2017

@dherr, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.

Thanks, DNFBOT;

@ghost ghost removed the cla-signed label Dec 7, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants