Page MenuHomePhabricator

Add optional support for "backchannel logout"
Closed, ResolvedPublicFeature

Description

Feature summary:
Add

  • performBackChannelLogout( $requestData ) to PluggableAuthPlugin
  • REST endpoint that can be registered with an external authentication provider, which calls this function
  • Using it should be made configurable

There are some open questions though:

  • How to deal with Multiple-Plugin-Setups? Do we need an ID as part of the REST endpoint?
  • What exactly to pass to that function? Just raw request data? Is pre-processing/validation required?

Use case(s)

  • If a user logs out from a central authentication system, all sessions in connected applications should also be terminated

Benefits:
It improves security, as it prevents that a user needs to end sessions on multiple applications
At least two extensions may use this:

  • Extension:OpenIDConnect
  • Extension:SimpleSAMLphp (probably)

Event Timeline

Osnard triaged this task as Low priority.

I am going to provide a patch upon the current V7 changeset-stack

FTR: There is a somewhat similar ticket for Extension:SimpleSAMLphp -> T246350
Unfortunately this can not be solved with the proposed implementation, as the logout request from the SAML IdP will not be send to the wiki, but to the SimpleSAMLphp Service Provider.

Change #903216 had a related patch set uploaded (by Cicalese; author: Robert Vogel):

[mediawiki/extensions/PluggableAuth@master] Add optional support for backchannel logout

https://gerrit.wikimedia.org/r/903216

Change #991792 had a related patch set uploaded (by Cicalese; author: Robert Vogel):

[mediawiki/extensions/OpenIDConnect@master] Add backchannel logout

https://gerrit.wikimedia.org/r/991792

Change #903216 merged by jenkins-bot:

[mediawiki/extensions/PluggableAuth@master] Add optional support for backchannel logout

https://gerrit.wikimedia.org/r/903216

Change #991792 merged by jenkins-bot:

[mediawiki/extensions/OpenIDConnect@master] Add backchannel logout

https://gerrit.wikimedia.org/r/991792

Change #1121759 had a related patch set uploaded (by Cicalese; author: Robert Vogel):

[mediawiki/extensions/PluggableAuth@REL1_43] Add optional support for backchannel logout

https://gerrit.wikimedia.org/r/1121759

Change #1121759 merged by jenkins-bot:

[mediawiki/extensions/PluggableAuth@REL1_43] Add optional support for backchannel logout

https://gerrit.wikimedia.org/r/1121759

Change #1121760 had a related patch set uploaded (by Cicalese; author: Robert Vogel):

[mediawiki/extensions/OpenIDConnect@REL1_43] Add backchannel logout

https://gerrit.wikimedia.org/r/1121760

Change #1121760 abandoned by Cicalese:

[mediawiki/extensions/OpenIDConnect@REL1_43] Add backchannel logout

Reason:

need to backport other patches first

https://gerrit.wikimedia.org/r/1121760

Change #1121760 restored by Cicalese:

[mediawiki/extensions/OpenIDConnect@REL1_43] Add backchannel logout

https://gerrit.wikimedia.org/r/1121760

Change #1121760 merged by jenkins-bot:

[mediawiki/extensions/OpenIDConnect@REL1_43] Add backchannel logout

https://gerrit.wikimedia.org/r/1121760