2013-10-03 57 views
-1

我已经锁定了我的MediaWiki实例,所以只有注册用户可以读取或写入(它是“私人”)。这意味着任何API请求都需要进行身份验证。从我所知道的情况来看,唯一的方法就是通过凭据“登录”,在服务器上设置cookie,然后用登录后得到的特殊令牌发出新请求。如何登录每个MediaWiki API请求?

反而我想发送我的凭据登录每一个请求,所以不用担心设置cookie或令牌。这意味着我只需要提出一个请求,而不是几个,但每个请求都会“登录”。

例如:

http://mywiki.com/api.php?action=query&dowhatever&username=MyName&password=MyPassword

或通过发送特殊的HTTP标头。

可以这样做吗?有没有人做过扩展来允许这个?

回答

0

默认情况下不可能。你需要使用/写一个扩展名。

我写了自己的API脚本,绕过了所有默认的MediaWiki代码(包括好的和坏的安全性)。它需要工作,它有明显的安全缺陷,但这是一个开始。我不推荐它用于制作网站。 Here it is

0

有没有办法做到这一点。您只需登录一次即可获取会话的cookie。您需要确保您在将来的API请求中传回此cookie。有关更多详情,请参阅https://www.mediawiki.org/wiki/Api

+0

什么会议?客户端访问我的Web服务器或访问wiki的Web服务器? – Jared

+0

我的意思是饼干。更新了我的答案。 –