Manual:Pywikibot/OAuth

MediaWiki supports OAuth v1.0a as a method of authentication. Pywikibot master also supports OAuth for MediaWiki. (Pywikibot 2.0 does not).

More information about OAuth support of MediaWiki: OAuth/For_Developers

Requirements

 * The wiki where you want to use the bot needs Extension:OAuth installed and configured properly
 * Python library requests-oauthlib

Configuration
OAuth tokens are set in authenticate of user-config.py: authenticate['en.wikipedia.org'] = ('consumer_token','consumer_secret', 'access_token', 'access_secret') For now, we should use site's host URL as the key of dict to specifying OAuth tokens. Also, Pywikibot supports wildcard '*' as the prefix of URL: authenticate['*.wikipedia.org'] = ('consumer_token','consumer_secret', 'access_token', 'access_secret') Pywikibot will match the best OAuth tokens for requests.

The OAuth tokens could be generated at. In case of a wikifarm, this needs to be the central wiki of the farm. In case of Wikimedia, it's m:Special:OAuthConsumerRegistration/propose. You need to check the option "owner-only".

Usage
Before activating the OAuth tokens, make sure you log out by using. Otherwise, the API will return a "Bad token" error.

When there's OAuth tokens matched in user-config.py, Pywikibot will disable password login automatically and use OAuth tokens for authentication instead.

NOTE: Using OAuth will block logout function.