88c8caa73705300f72322dcea2c71d634854cb0c
2 * Make the two-step login easier.
3 * @author Niklas Laxström
4 * @class mw.Api.plugin.login
10 $.extend( mw
.Api
.prototype, {
12 * @param {string} username
13 * @param {string} password
14 * @return {jQuery.Promise} See mw.Api#post
16 login: function ( username
, password
) {
17 var params
, apiPromise
,
26 apiPromise
= api
.post( params
);
28 .then( function ( data
) {
29 params
.lgtoken
= data
.login
.token
;
30 return api
.post( params
)
31 .then( function ( data
) {
33 if ( data
.login
.result
!== 'Success' ) {
34 // Set proper error code whenever possible
35 code
= data
.error
&& data
.error
.code
|| 'unknown';
36 return $.Deferred().reject( code
, data
);
41 .promise( { abort
: apiPromise
.abort
} );
47 * @mixins mw.Api.plugin.login
50 }( mediaWiki
, jQuery
) );