Dieses Ticket setzt die Basis des SSO technisch um: die gemeinsame Nutzung der Kern-Benutzerdatenbanktabellen und der Sessions zwischen Haupt- und Wikibase-Instanz.
Was getan werden muss
Die LocalSettings.php beider Instanzen muss angepasst werden, um die Shared-Tables und das Session-Sharing zu aktivieren.
- Konfiguration der Wikibase-Instanz:
- Die Variable $wgSharedDB muss auf den Datenbanknamen der Haupt-Wiki-Datenbank gesetzt werden.
- Die Variable $wgSharedTables muss die nativen MediaWiki-Tabellen enthalten, die in der Spezifikation (T[Vorherige Ticketnummer]) festgelegt wurden (mindestens user, user_groups, user_newtalk).
- Konfiguration des Session-Sharings: Die $wgSessionProviders müssen so konfiguriert werden, dass sie einen gemeinsamen Cache (z.B. Memcached oder Redis) nutzen, der von beiden Instanzen erreicht wird.
- Vollständiger Funktionstest:
- Anmeldung auf der Haupt-Wiki-Instanz, Wechsel zur Wikibase-Instanz (muss ohne erneute Anmeldung funktionieren).
- Umgekehrt: Abmeldung auf der Wikibase-Instanz (muss auch auf der Haupt-Instanz die Session beenden).
Warum wir das tun
Dies ist die technische Basis für die gesamte zentrale Benutzerverwaltung (SSO).
- Basis für Global-Extensions: Ohne die korrekt funktionierende Shared-Tables-Basis (Benutzer- und Session-Sharing) können die nachfolgenden Global-Extensions nicht arbeiten.
- Unmittelbarer SSO-Effekt: Dies liefert den sofortigen Mehrwert des Single Sign-On für die Benutzer, da die manuelle Anmeldung auf der Wikibase-Instanz entfällt.
- Datenkonsistenz: Die Konfiguration stellt sicher, dass die Kern-Benutzerdaten stets nur in der Haupt-Wiki-Datenbank geändert werden.