API:Account creation/zh





-{zh-hans:创建账号; zh-hant:建立帳號;}-
此流程有3個步驟：


 * 1) 从获取字段，从获取令牌.
 * 2) 使用获取的令牌、用户信息等字段发送POST请求，并将URL返回给API.
 * 3) 处理返回结果，这可能涉及进一步的POST请求以提供更多信息.



示例1：没有特殊身份验证扩展的wiki的过程
在没有特殊身份验证扩展的wiki上处理是相当简单的. 如果你的代码知道哪些字段是必填的，它可以跳过对的调用并假设需要哪些字段（即用户名，密码和重复输入的密码，邮箱，可能还有真名）.



回应




示例2：有验证码扩展的wiki的过程
注意，如果你愿意，以下的第1步可以分成两步完成：先从获取可用字段，再从获取令牌.



第1步：从获取可用字段并从获取令牌


第2步：发送包含创建用户令牌和用户信息的post请求，并返回URL


示例代码
注意，此代码示例将和请求分开，并且假设只有验证码没有其他复杂情况.



示例3：在启用了验证码、OpenID和双重认证扩展的wiki上创建帐户


第1步：从获取可用字段并从获取令牌
和的获取与上例大致相同，这里不再赘述. 从返回的请求列表会包含验证码和OpenID扩展的定义.

第2步：填写验证码并选择OpenID身份验证.
客户端会将用户的浏览器重定向到提供的 redirecttarget.

OpenID会进行身份验证，并重定向到wiki上的Special:OpenIDConnectReturn. 这会验证OpenID的返回结果，然后重定向到添加了 和 参数的第一个POST里所提供的 loginreturnurl 的API.

客户端此时重新获得对流程的控制权，并发出下一个API请求.

第3步：从OpenID返回.
客户端通过post请求，回传 code 和 state 给API. API的返回结果带有双重验证扩展，提示用户设置他们的第二重验证.

现在客户端会提示用户在他们的双重验证应用程序上设置新账号并输入当前验证码，或跳过双重验证. 我们假设用户确实设置了2FA（双因素验证）.

第四步：设置双因素身份验证.
帐户创建终于成功了.

如果在某一步账户创建失败, 用户会收到带有 失败 状态和 信息 的返回结果.



可能的错误


附加提醒

 * 帐户创建记录在Special:log/newusers.

如果您已登录，则在创建帐户时您的用户名也会被记录.


 * 在执行此页面上提供的代码段时，请记住：
 * 一旦创建维基上的帐户，将无法删除该帐户.
 * 请始终使用终端，这样你就不会不小心在wiki的产品环境中创建账号.
 * MediaWiki的站点管理员和扩展开发者可以通过在配置文件中插入以下代码来禁用此API功能：

