API:Login/es
| Esta página es parte de la documentación de la API MediaWiki. |
| Idioma: | English • Deutsch • español • français • 日本語 • русский • 中文 • 中文(繁體) |
|---|
action=login envía diversos tokens (identificadores numéricos) que son requeridos por el servidor para reconocer usuarios logueados (logged-in, que iniciaron sesión). En cada llamada a api.php, debe pasarse una cookie creada en esta petición.
Contents |
Ejemplo de petición [edit]
Nota: En este ejemplo, todos los parámetros son pasados por el método GET sólo para hacerlo más simple. De todas formas, action=login emplea el método POST; sino se producirá un error. Iniciando sesión
| Result |
|---|
| The following content has been placed in a collapsed box for improved usability. |
<?xml version="1.0" encoding="utf-8"?> <api> <login result="Success" lguserid="12345" lgusername="Bob" lgtoken="b5780b6e2f27e20b450921d9461010b4" cookieprefix="eswiki" sessionid="08nj1ioefhlvmdjfor5to3mvv5" /> </api> |
| The above content has been placed in a collapsed box for improved usability. |
Debe agregarse el parámetro lgdomain, que contiene el nombre de dominio para la autenticación, si estás usando un plug-in de autenticación como el Extension:LDAP Authentication.
Construyendo la cookie manualmente [edit]
Una consulta action=login exitosa debería crear una cookie correcta, pero si no es capaz de procesarla, también puede construirla con los datos devueltos. En el ejemplo anterior, debería crearse la siguiente cookie:
- eswikiUserName =
Bob(del campolgusername); - eswikiUserID =
12345(del campolguserid); - eswikiToken =
b5780b6e2f27e20b450921d9461010b4(del campolgtoken); - eswiki_session =
08nj1ioefhlvmdjfor5to3mvv5(del camposessionid);
Nótese que el prefijo eswiki es diferente para cada wiki, y es tomado del campo cookieprefix.
Errores [edit]
Se informa de los errores a través del campo result, cuyos posibles valores son:
| Código de error | Motivo del error |
|---|---|
NoName |
No se especificó un nombre de usuario en el parámetro lgname. |
Illegal |
El nombre de usuario provisto en el parámetro lgname no está permitido. |
NotExists |
El nombre de usuario provisto en el parámetro lgname no existe. |
EmptyPass |
No indicó el parámetro lgpassword, o lo dejó vacío. |
WrongPass |
La contraseña provista en el parámetro lgpassword es incorrecta. |
WrongPluginPass |
Lo mismo que WrongPass, devuelto cuando es rechazado por un plug-in de autenticación, en lugar de MediaWiki mismo. |
CreateBlocked |
La wiki intentó crear una nueva cuenta automáticamente, pero la dirección IP fue bloqueada para crear cuentas. |
NeedToWait |
El tiempo que debe esperar todavía no expiró. Véase throttling. |
Throttling [edit]
Por razones de seguridad, el módulo tiene throttling. Esto implica que un intento de iniciar sesión fallido, requerirá que se identifique por la página de inicio de sesión estándar, o espere un tiempo antes de iniciar sesión. Ante el primer error la demora es de 5 segundos, cada intento fallido subsecuente doblará la demora. Reintentar antes de ese tiempo producirá un error NeedToWait, pero no reiniciará la cuenta de tiempo. El número de segundos que debe esperar hasta el próximo intento es devuelto por el campo wait. Esta opción sólo está habilitada para servidores que soportan memcaching.
Enlaces externos [edit]
- Ejemplo de código de autenticación en PHP (requiere Snoopy).