hi,
I am working on developing some auth extensions these days. Now I have already done halt
of my project. I extended a new class from AuthPlugin and write my code in it, it works
fine. But I want to do more on this. For example, I wanna make Mediawiki login
automaticlly when I logged in other applications.
When I logged in an other application, the application would call a file in Mediawiki, for
example, I installed my forum in
forum.xxxxx.org and mediawiki in
wiki.xxxxx.org, when I
logged in forum, the forum would access
http://wiki.xxxxx.org/myapi.php automatically and
POST user ID to it. Now I must make myapi.php to set a session to make mediawiki show the
user has been logged in. I have read the Mediawiki API but it cannot satisfy me, because
it need some more information which I cannot supply such like users password. So is there
anyway to make a user logged in without a clear-text password? thx!!
BTW: I found another problem on a class which extended from AuthPlugin.
When I 'echo' something in
function authenticate($username, $password)
it wont shown on page. Only when I added exit(); to stop program running, my message can
be shown. For example, If I use this code:
function authenticate($username, $password){
echo 'aaaaaaaaaaaaaaaaaaaaaaa';
//Do something to auth
return true;
}
Nothing would shown, it would redirected to LoginComplete page directly.
And also, if I use a hook:
$wgHooks['UserLoginComplete'][] = 'WMHook_UserLoginComplete';
and 'echo' something in function WMHook_UserLoginComplete():
function WMHook_UserLoginComplete(&$user, &$inject_html){
$uid = $user->getId();
echo $uid;
return true;
}
Nothing would be shown. If I modified the $inject_html like:
function WMHook_UserLoginComplete(&$user, &$inject_html){
$inject_html = 'aaaaaaaaaaaaaaaaaa';
return true;
}
Whatever value I passed to $inject_html execpt empty string would cause Mediawiki stop
working. Nothing would shown and the program was stop.
Could you tell me why this happed? thx
--------------
Bear
2010-08-12