API:Login/de

From MediaWiki.org
Jump to: navigation, search
Tools clipart.png Diese Seite ist Teil der MediaWiki-API-Dokumentation.
Sprache: English  • Deutsch • español • français • 日本語 • русский • 中文 • 中文(繁體)‎
MediaWiki API

Schnellübersicht:

v · d · e

Vor dem Arbeiten in der Api solltest du dich mit einem Bot-Account einloggen. Du kannst zwar auch ohne Login in der API arbeiten, allerdings gelten dann wesentlich strengere Einschränkungen. Zum Beispiel können bei vielen Querys normalerweise maximal 500 Seiten mit einem Mal zurückgegeben werden, während es bei einem Bot 5.000 sind. Nach einem erfolgreichen Login wird ein Token geliefert, mit dem du dich bei jeder Anfrage als eingeloggter User identifizieren kannst. Dieser Token wird einmal in der Antwort geschickt und auch gleichzeitig im HTTP-Header als Cookie gesetzt.

Contents

Beispiel [edit]

Wer mit einer MediaWiki-Version vor 1.15.3 arbeitet, kann dieses Beispiel überspringen.

Wichtig: In diesem Beispiel werden zur einfachen Darstellung alle Parameter als GET-Parameter übergeben. Die API selbst erwartet aber, dass lgname und lgpassword POSTs sind. Ansonsten wird ein Fehler geliefert.

Wer mit MediaWiki 1.15.3+ arbeitet, wird ein NeedToken erhalten. Vor dieser Version sollte ein Success zurückgegeben werden, sofern die Daten richtig übergeben wurden. MediaWiki 1.15.3+ erwartet jedoch, dass der Login mit einem Sessioncookie und dem im ersten Request erhaltenen Token bestätigt wird. Sende einen POST-Request mit dem zuvor erhaltenen Token und dem Sessioncookie im Header (z.B. dewiki_session).

Wenn du ein Login-Plugin wie Extension:LDAP Authentication verwendest, musst du noch einen zusätzlichen Parameter lgdomain angeben.

Cookies [edit]

Ein erfolgreicher Login setzt die Cookies automatisch per HTTP-Header. Wenn du sie aber nicht verarbeiten kannst, können sie auch aus der Antwort zusammengesetzt werden. Im Beispiel oben würdest du folgende Cookies haben:

  • dewikiUserName = Bob (von lgusername)
  • dewikiUserID = 12345 (von lguserid)
  • dewikiToken = b5780b6e2f27e20b450921d9461010b4 (von lgtoken)
  • dewiki_session = 08nj1ioefhlvmdjfor5to3mvv5 (von sessionid)

Beachte, dass der Präfix "dewiki" in jedem Wiki anders ist. Diesen erfährst du über cookieprefix.

Fehlermeldungen [edit]

Mögliche Fehlermeldungen, die du in dem Feld "result" bekommen kannst:

  • NoName
    • der lgname-Parameter wurde nicht gesetzt
  • Illegal
    • der Username ist ungültig
  • NotExists
    • der Username existiert nicht
  • EmptyPass
    • du hast den lgpasswort-Parameter entweder nicht definiert oder leer gelassen.
  • WrongPass
    • du hast ein falsches Passwort gegeben
  • WrongPluginPass
    • das selbe wie WrongPass. Wird geliefert, wenn statt MediaWiki selbst ein Plugin das Passwort ablehnt.
  • CreateBlocked
    • MediaWiki hat automatisch versucht einen neuen Account anzulegen, aber deine IP ist gesperrt.
  • Throttled
    • Du hast dich in zu kurzer Zeit zu oft falsch eingeloggt.

Throttling [edit]

Aus Sicherheitsgründen darf man innerhalb einer bestimmten Zeit nur eine maximale Anzahl an Loginversuchen unternehmen. Normalerweise sind das 5 Versuche in 300 Sekunden, das kann aber in bestimmten Wikis variieren. Wenn du das Limit erreicht hast, wird jeder Loginversuch, unabhängig davon ob er richtig oder falsch ist, mit dem Fehlercode Throttled und der Information, wie lange du noch warten musst, abgewiesen.

Externe links [edit]