API:Cross-site requests/de

Wenn ein Nutzerskript oder Gadget einen API-Aufruf gegen eine andere MediaWiki-Seite machen muss (wenn z.B. ein Skript auf der englischen Wikipedia Bildinformationen auf Commons prüfen muss), muss es JSONP oder CORS benutzen.

Benutzung von JSONP
Die API  nimmt einen "Callback"-Parameter an, der eine JavaScript-Funktion benennt, in das das JSON-Ergebnis eingebunden wird. Das kann man einsetzen, um die API auf einer entfernten Seite aufzurufen, indem man dynamische -Tags zum Dokument hinzufügt.

Beachte dass alle JSONP-Anfragen nach dem Ausloggen verarbeitet werden, sogar wenn die Browsersitzung gegen das entfernte Wiki authentifiziert wurde.

Benutzung von CORS
Die MediaWiki-API erfordert auch, dass die Herkunft als Anfrageparameter angegeben wird, entsprechend "origin" genannt, der mit dem Herkunftsheader abgeglichen wird, der vom CORS-Protokoll benötigt wird. Beachte dass dieser Header in allen vorherigen Anfragen eingebunden werden muss und auch in den Teil der Abfrage-Strings der anfragenden URI, sogar bei POST-Anfragen.

Damit eine CORS-Anfrage vom entfernten Wiki erlaubt wird, muss  so eingestellt sein, dass die Herkunftsseite erlaubt wird. Falls der CORS-Herkunftscheck bestanden wird, bindet MediaWiki den -Header in die Antwort ein, sodass Authentifizierungs-Cookies gesendet werden können.

Unauthenticated CORS requests may be made from any origin by setting the "origin" request parameter to "*". In this case MediaWiki will include the  header in the response and will process the request as if logged out (in case credentials are somehow sent anyway).

When the "origin" request parameter is supplied, MediaWiki (since 1.30) will return a  header with a brief failure reason if the request does not result in a successful CORS response, e.g. in case of mismatched origin or unsupported headers in a   request header.

Siehe Manual: CORS für Anleitungen wie CORS-Abfragen in JavaScript gehandhabt werden.