API:Login/ru

MediaWiki API может потребовать от вашего приложения или клиента предоставить аутентифицированные учетные данные пользователя и войти в систему для (а) запроса информации или действий по изменению данных (б) для выполнения больших запросов с более высоким запросом на лимит.



Два метода аутентификации
Существует два способа аутентификации в MediaWiki Action API:



Метод 1. login
Боты и прочие неинтерактивные приложения, когда это возможно, должны использовать owner-only OAuth consumers для аутентификации, как более безопасный метод. Если этот метод недоступен, или его реализация в этом клиенте невозможна, действие  может быть использовано и с паролями для ботов.



Пример


Ответ


Пример кода


Возможные ошибки


Метод 2. clientlogin
Интерактивные приложения, такие как произвольные инструменты редактирования или патрулирования, которые предоставляют службы без намерения полностью заменить сайт, или мобильные приложения, которые полностью заменяют доступ к пользовательскому интерфейсу, должны использовать действие. Однако, для аутентификации инструмента следует использовать, если это доступно, поскольку это проще и более безопасно. Этот модуль доступен начиная с MediaWiki 1.27.



Документация по API


Пример 1: Процесс в вики без специальных расширений для аутентификации


POST-запрос
В запросе выше, получение токена логина с помощью.

Ответ


Пример кода


Пример 2: Процесс для вики с расширениями для аутентификации
Вики с расширениями для аутентификации, такие как (captcha),,  (двухфакторная аутентификация), может быть более сложный процесс аутентификации. В этом случае могут потребоваться дополнительные поля, описание которых могут быть получены с помощью запроса.



Шаг 1: Ответьте на Captcha и выберите аутентификацию OpenID


Шаг 2: От от OpenID


Шаг 3: двухфакторная аутентификация
Обратите внимание: В некоторых случаях возможно получить ответ, например если в расширении OpenID Connect у этой учётной записи OpenID не было привязки ни к какому локальному пользователю. В этом случае клиент может или начать сначала весь процесс входа в учётную запись, или переключиться в режим создания учётной записи; и в том, и в другом случае клиенту нужно передавать параметр loginpreservestate или createpreservestate для частичного сохранения состояния.



Дополнительные примечания

 * На вики, разрешающих анонимное редактирование, возможно редактировать через API без входа в учётную запись, но это действие всё равно крайне рекомендуется выполнять. На приватных вики, вход необходим для использования любых API функций.
 * Рекомендуется создавать отдельную учётную запись для своего приложения. Это особенно важно, если приложение совершает автоматические правки или вызывает дорогие функции. В таком случае легче отслеживать правки, совершаемые приложением, и выдавать специальные права учётной записи, работающей с ним.
 * Если вы посылаете запрос, который должен осуществляться выполнившим ход пользователем, добавьте параметр  к запросу, чтобы проверить, что пользователь выполнил вход. Если пользователь не зашел, то вернется код ошибки.
 * Чтобы проверить есть ли у аккаунта права бота, добавьте параметр  к запросу. Если у аккаунта нет прав бота, вернется код ошибки.

<span id="See_also">

Смотрите также

 * - Возвращает информацию о текущем вошедшем в систему пользователе.
 * Interactive login with action=clientlogin in mwapi