MediaWiki API 說明
此頁為自動產生的 MediaWiki API 說明文件頁面。
說明文件與範例:https://www.mediawiki.org/wiki/API
action=clientlogin (login)
(main | clientlogin)
- 此模組僅接受 POST 請求。
- 來源:MediaWiki
- 協定:GPL-2.0-or-later
使用交互式流登录wiki。
使用此模組的一般程式是:
- 通過amirequestsfor=login取得來自action=query&meta=authmanagerinfo的可用欄位,和來自action=query&meta=tokens的login令牌。
- 向用戶顯示欄位,並獲得其提交的內容。
- 提交(POST)至此模組,提供loginreturnurl及任何相關欄位。
- 在回应中檢查status。
- 如果您收到了PASS(成功)或FAIL(失敗),則認為操作結束。成功與否如上句所示。
- 如果您收到了UI,向用戶顯示新欄位,並再次獲取其提交的內容。然後再次使用logincontinue,向本模組提交相關欄位,並重復第四步。
- 如果您收到了REDIRECT,將使用者指向redirecttarget中的目標,等待其返回loginreturnurl。然後再次使用logincontinue,向本模組提交返回URL中提供的一切欄位,並重復第四步。
- 如果您收到了RESTART,這意味著身份驗證正常運作,但我們沒有連結的使用者賬戶。您可以將此看做UI或FAIL。
參數:
- loginrequests
只使用這些身份驗證請求,透過自action=query&meta=authmanagerinfo回傳的id與amirequestsfor=login,或來自此模組之前的回應。
- 將幾個值以 | 或 alternative 分隔。 上限值為 50 (機器人為 500)。
- loginmessageformat
用於回傳訊息的格式。
- 單值:html、wikitext、raw、none
- 預設值:wikitext
- loginmergerequestfields
將用於所有身份驗證請求的欄位資訊合併至一個陣列中。
- 類型:布林值(詳細資訊)
- loginpreservestate
從之前失敗的登入嘗試中保持狀態,如果可能。
- 類型:布林值(詳細資訊)
- loginreturnurl
為第三方身份驗證流程傳回URL,必須為絕對值。需要此值或logincontinue兩者之一。
在接收REDIRECT回應時,一般狀況下您將打開瀏覽器或網站瀏覽功能到特定的redirecttarget URL以進行第三方身份驗證流程。當它完成時,第三方會將瀏覽器或網站瀏覽功能送至此URL。您應當提取任何來自URL的查詢或POST參數,並將之作為logincontinue請求傳遞至此API模組。
- logincontinue
此請求是在先前的UI或REDIRECT回應之後的後續動作。必須為此值或loginreturnurl。
- 類型:布林值(詳細資訊)
- logintoken
自 action=query&meta=tokens 接收的 "login" 密鑰。
- 此參數為必填。
- *
- 此模組允許額外參數,取決於可用的身份驗證請求。使用action=query&meta=authmanagerinfo与amirequestsfor=login(或之前來自此模組的回應,如果合適)以決定可用請求及其使用的欄位。
範例:
- 开始作为用户Example和密码ExamplePassword登录至wiki的过程。
- api.php?action=clientlogin&username=Example&password=ExamplePassword&loginreturnurl=http://example.org/&logintoken=123ABC [在沙盒中開啟]
- 在UI响应双因素验证后继续登录,补充OATHToken 987654。
- api.php?action=clientlogin&logincontinue=1&OATHToken=987654&logintoken=123ABC [在沙盒中開啟]