MediaWiki API 說明
此頁為自動產生的 MediaWiki API 說明文件頁面。
說明文件與範例:https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page
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、none、raw、wikitext
- 預設值: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 回應雙因素驗證後繼續登入,提供 987654 的 OATHToken。
- api.php?action=clientlogin&logincontinue=1&OATHToken=987654&logintoken=123ABC [在沙盒中開啟]