'Obtain an impersonation token for the user.
The retrieved token will allow impersonation of the user.
This is only available for admins of a GitHub Enterprise instance.
:param list scopes: (optional), areas you want this token to apply to,
i.e., \'gist\', \'user\'
:returns: :class:`Authorization <Authorization>`'

@requires_auth
def impersonate(self, scopes=None):

    url = self._build_url(u'admin', u'users', self.login, u'authorizations')
    data = {}
    if scopes:
        data[u'scopes'] = scopes
    json = self._json(self._post(url, data=data), 201)
    return self._instance_or_null(Authorization, json)
