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