'Accepts additional keyword arguments:
:arg str consumer_key:
The *key* assigned to our application (**consumer**) by the
**provider**.
:arg str consumer_secret:
The *secret* assigned to our application (**consumer**) by the
**provider**.
:arg int id:
A unique numeric ID used to serialize :class:`.Credentials`.
:arg dict user_authorization_params:
A dictionary of additional request parameters for
**user authorization request**.
:arg dict access_token_params:
A dictionary of additional request parameters for
**access_with_credentials token request**.
:arg dict access_headers:
A dictionary of default HTTP headers that will be used when
accessing **user\'s** protected resources.
Applied by :meth:`.access()`, :meth:`.update_user()` and
:meth:`.User.update()`
:arg dict access_params:
A dictionary of default query string parameters that will be used
when accessing **user\'s** protected resources.
Applied by :meth:`.access()`, :meth:`.update_user()` and
:meth:`.User.update()`'

def __init__(self, *args, **kwargs):

    super(AuthorizationProvider, self).__init__(*args, **kwargs)
    self.consumer_key = self._kwarg(kwargs, 'consumer_key')
    self.consumer_secret = self._kwarg(kwargs, 'consumer_secret')
    self.user_authorization_params = self._kwarg(kwargs, 'user_authorization_params', {})
    self.access_token_headers = self._kwarg(kwargs, 'user_authorization_headers', {})
    self.access_token_params = self._kwarg(kwargs, 'access_token_params', {})
    self.id = self._kwarg(kwargs, 'id')
    self.access_headers = self._kwarg(kwargs, 'access_headers', {})
    self.access_params = self._kwarg(kwargs, 'access_params', {})
    self.credentials = authomatic.core.Credentials(self.settings.config, provider=self)
    self.access_token_response = None
