MediaWiki mit Basic Auth schützen

Aus Laub-Home Wiki

Seit MediaWiki 1.35 ist der Visual Editor mit Parsoid im Standard Paket enthalten und muss nicht mehr als Extension und Parsoid als eigener Service installiert werden. Da beides nun mittels API kommuniziert, wird im Falle einer Basic Auth vor dem MediaWiki auch diese Kommunikation geblockt. Um dies zu Umgehen, kann man den User Agent des Visual Editors als Ausnahme hinzufügen.

Tut man dies nicht kommt es zu dieser Fehlermeldung beim Versuch eine Seite zu Editieren oder eine Neue Seite abzuspeichern:

Error contacting the Parsoid/RESTBase server (HTTP 401)

die folgende Konfiguration kann im NGINX verwendet werden:

# BASIC AUTH infront of the complete vhost
  # Excluding the VisualEditor user agent
  satisfy any;
  auth_basic 'Restricted Area';
  auth_basic_user_file /etc/nginx/conf.d/.htpasswd.pwd;
  auth_request /auth;
  location = /auth {
      if ($http_user_agent ~ VisualEditor-MediaWiki/*) {
         return 200;
      }
         return 403;
      }

beim apache würde es so aussehen:

SetEnvIfNoCase User-Agent VisualEditor-MediaWiki/* visualeditor
<Directory /var/www/>
    AuthUserFile /var/www/files/.htpasswd
    AuthName "Restricted Access"
    AuthType Basic
    Require env visualeditor
    Require valid-user
</Directory>


Quelle