API:Login/zh

MediaWiki API可能会要求您的应用程序或客户端提供经过身份验证的用户凭据并登录（a）查询信息或进行数据修改操作（b）进行比请求限制较大的查询.



两种身份验证方法
有两种方法可以对MediaWiki Action API进行身份验证：



方法1.登录
机器人和其他非交互式应用程序应使用仅所有者的OAuth使用者，因为它更安全. 如果不可用或不适用于客户端，则 操作可与机器人密码一起使用.



示例


回应


示例代码


可能的错误


方法2. 客户端登录
交互应用程序，例如在完全替换对基于网页的用户界面的取数而无意完全替换网站或应用程序的自定义编辑器或巡逻应用程序应使用 操作. 但是，如果可以使用来对工具进行身份验证，则应该使用，因为它更简单，更安全. 该模块在MediaWiki 1.27版本开始可用.



API文档


示例1：没有特殊身份验证扩展的维基的过程


POST请求
通过在上述请求中获得令牌登录.

回应


示例代码


示例2：具有特殊身份验证扩展的维基的过程
具有特殊身份验证扩展, 例如（验证码），，（两步验证）的维基可能具有更复杂的身份验证过程. 如果在这种情况下还需要特定的字段，其描述可以从查询中获取.



步骤1：回答验证码并选择OpenID身份验证


步骤2：从OpenID返回


步骤3：两步验证


附加提醒

 * 在允许匿名编辑的wiki上，不登录就可以编辑；但我们强烈推荐您先登录. 在非开放wiki上，使用任何API功能都需要登录.
 * 建议为您的应用程序创建一个单独的用户帐户. 如果您的应用程序正在执行自动编辑或调用大型或性能密集型查询，则这一点尤其重要. 这样，就可以轻松跟踪应用程序所做的更改并将特殊权限给于应用程序的帐户. This is especially important if your application is carrying out automated editing or invoking large or performance-intensive queries. With that, it is easy to track changes made by the application and apply special rights to the application's account.
 * 如果发送的请求应由登录用户发出，请在发送的请求中添加 参数，以检查用户是否已登录. 如果用户未登录，将返回 错误代码.
 * 要检查帐户是否具有机器人权限，请在请求中添加 参数. 如果该帐户没有机器人权限，则将返回 错误代码.

<span id="See_also">

參見

 * - 返回有关当前登录用户的信息
 * Interactive login with action=clientlogin in mwapi
 * Interactive login with action=clientlogin in mwapi