You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My OAuth2.0 client is configured with the post-logout callback URI to be the front page of the RP, and with back-channel logout.
When a user clicks logout on this RP, it initiates the logout flows with Hydra.
Sometimes,since the back-channel logout flows became asynchronous in #2849 , we have observed rare scenarios whereby Hydra redirects the user's browser back to the post-logout callback URI faster than it performed back-channel logout on that same RP.
The effect is that the user sometimes ends up back on the front page of the RP but it still looks like they are logged in. Maybe a half second later, we see the back-channel logout flow work and end the session in the backend, but the user doesn't know this. They usually click Logout a second time and they think that it worked the second time (but in fact, their session was ended already before they clicked the second time)
Describe your ideal solution
It would be ideal if somehow the back-channel logout occurred before the redirect did. But I guess that's the old behaviour when it was synchronous.
Is there a way you can make it so that the redirect only happens after the same RP that initiated the logout has had its back-channel logout flow complete? A sort of half-way between synchronous and asynchronous (the other RPs of course can have the backchannel logout occur asynchronously)
Workarounds or alternatives
An alternative is to always 'end the session early' in the RP before it initiates the OP logout flows, but after it has obtained the id_token from the session to send to the OP as part of that request.
It would then be perhaps good to mention in the documentation that it is a good idea to 'always end the session early, in the RP that is initiating the logout flows. Even though this means back-channel logout for this same RP won't really do anything (you have already ended the user's session), it ensures that if your post-logout redirect URI is to this same RP, it won't look (to the user) like they are still logged in (if your RP makes it look that way), should their browser be redirected to that URI before the asynchronous back-channel logout had a chance to complete for this RP.'
Version
1.11.8
Additional Context
No response
The text was updated successfully, but these errors were encountered:
Sorry for the late reply, this is a fair point. We shold document this behavior:
An alternative is to always 'end the session early' in the RP before it initiates the OP logout flows, but after it has obtained the id_token from the session to send to the OP as part of that request.
I am marking this issue as stale as it has not received any engagement from the community or maintainers for a year. That does not imply that the issue has no merit! If you feel strongly about this issue
open a PR referencing and resolving the issue;
leave a comment on it and discuss ideas on how you could contribute towards resolving it;
leave a comment and describe in detail why this issue is critical for your use case;
open a new issue with updated details and a plan for resolving the issue.
Throughout its lifetime, Ory has received over 10.000 issues and PRs. To sustain that growth, we need to prioritize and focus on issues that are important to the community. A good indication of importance, and thus priority, is activity on a topic.
Unfortunately, burnout has become a topic of concern amongst open-source projects.
It can lead to severe personal and health issues as well as opening catastrophic attack vectors.
The motivation for this automation is to help prioritize issues in the backlog and not ignore, reject, or belittle anyone.
If this issue was marked as stale erroneously you can exempt it by adding the backlog label, assigning someone, or setting a milestone for it.
Thank you for your understanding and to anyone who participated in the conversation! And as written above, please do participate in the conversation if this topic is important to you!
Preflight checklist
Describe your problem
My OAuth2.0 client is configured with the post-logout callback URI to be the front page of the RP, and with back-channel logout.
When a user clicks logout on this RP, it initiates the logout flows with Hydra.
Sometimes,since the back-channel logout flows became asynchronous in #2849 , we have observed rare scenarios whereby Hydra redirects the user's browser back to the post-logout callback URI faster than it performed back-channel logout on that same RP.
The effect is that the user sometimes ends up back on the front page of the RP but it still looks like they are logged in. Maybe a half second later, we see the back-channel logout flow work and end the session in the backend, but the user doesn't know this. They usually click Logout a second time and they think that it worked the second time (but in fact, their session was ended already before they clicked the second time)
Describe your ideal solution
It would be ideal if somehow the back-channel logout occurred before the redirect did. But I guess that's the old behaviour when it was synchronous.
Is there a way you can make it so that the redirect only happens after the same RP that initiated the logout has had its back-channel logout flow complete? A sort of half-way between synchronous and asynchronous (the other RPs of course can have the backchannel logout occur asynchronously)
Workarounds or alternatives
An alternative is to always 'end the session early' in the RP before it initiates the OP logout flows, but after it has obtained the id_token from the session to send to the OP as part of that request.
It would then be perhaps good to mention in the documentation that it is a good idea to 'always end the session early, in the RP that is initiating the logout flows. Even though this means back-channel logout for this same RP won't really do anything (you have already ended the user's session), it ensures that if your post-logout redirect URI is to this same RP, it won't look (to the user) like they are still logged in (if your RP makes it look that way), should their browser be redirected to that URI before the asynchronous back-channel logout had a chance to complete for this RP.'
Version
1.11.8
Additional Context
No response
The text was updated successfully, but these errors were encountered: