Source code for boxsdk.auth.developer_token_auth
# coding: utf-8
from __future__ import unicode_literals, absolute_import
from six.moves import input # pylint:disable=redefined-builtin
from .oauth2 import OAuth2
[docs]class DeveloperTokenAuth(OAuth2):
ENTER_TOKEN_PROMPT = 'Enter developer token: '
def __init__(self, get_new_token_callback=None, **kwargs):
self._get_new_token = get_new_token_callback
super(DeveloperTokenAuth, self).__init__(
client_id=None,
client_secret=None,
access_token=self._refresh_developer_token(),
**kwargs
)
def _refresh_developer_token(self):
if self._get_new_token is not None:
return self._get_new_token()
return input(self.ENTER_TOKEN_PROMPT)
def _refresh(self, access_token):
"""
Base class override.
Ask for a new developer token.
"""
self._access_token = self._refresh_developer_token()
return self._access_token, None
[docs] def revoke(self):
"""
Base class override.
Do nothing; developer tokens can't be revoked without client ID and secret.
"""