Azure / msrest-for-python

The runtime library "msrest" for AutoRest generated Python clients.
MIT License
41 stars 64 forks source link

Refresh_token doesn't seem to be working #92

Closed lmazuel closed 6 years ago

lmazuel commented 6 years ago

From https://github.com/Azure/azure-sdk-for-python/issues/2467 created by @prburgu

It seems refresh_token is not working correct with latest azure sdk. If I pin, msrest and msrestazure to following version then it is working correctly.

msrestazure==0.4.26
msrest==0.4.27

Here is the error with latest azure sdk.

Traceback (most recent call last):
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/msrest/service_client.py", line 275, in send
    **kwargs)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests/sessions.py", line 494, in request
    prep = self.prepare_request(req)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests/sessions.py", line 437, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests/models.py", line 309, in prepare
    self.prepare_auth(auth, url)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests/models.py", line 540, in prepare_auth
    r = auth(self)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests_oauthlib/oauth2_auth.py", line 35, in __call__
    http_method=r.method, body=r.body, headers=r.headers)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 193, in add_token
    raise TokenExpiredError()
oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/prburgu/infra/acmcloud/cli.py", line 93, in <module>
    result = func(*func_args)
  File "/Users/prburgu/infra/acmcloud/accloud/subcommands/resources.py", line 73, in setup_docdb
    return setup_docdb(self, service_name)
  File "/Users/prburgu/infra/acmcloud/accloud/subcommands/utils/docdb_utils.py", line 15, in setup_docdb
    client.azure.resource_groups.create_or_update(client.config.resource_group_name, client.config.location)
  File "/Users/prburgu/infra/acmcloud/accloud/acazure/acazure_client.py", line 75, in resource_groups
    return ResourceGroupOperations(self)
  File "/Users/prburgu/infra/acmcloud/accloud/acazure/acazure_base.py", line 82, in __init__
    self._cache_all_resource_info()
  File "/Users/prburgu/infra/acmcloud/accloud/acazure/acazure_base.py", line 456, in _cache_all_resource_info
    for resource in self.resource_client().resources.list():
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/msrest/paging.py", line 121, in __next__
    self.advance_page()
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/msrest/paging.py", line 107, in advance_page
    self._response = self._get_next(self.next_link)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/azure/mgmt/resource/resources/v2017_05_10/operations/resources_operations.py", line 361, in internal_paging
    request, header_parameters, **operation_config)
  File "/Users/prburgu/infra/acmcloud/accloud/acazure/acazure_clients.py", line 225, in send
    response = super(ACServiceClient, self).send(request, headers, content, **config)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/msrest/service_client.py", line 280, in send
    raise_with_traceback(TokenExpiredError, msg, err)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/msrest/exceptions.py", line 45, in raise_with_traceback
    raise error.with_traceback(exc_traceback)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/msrest/service_client.py", line 275, in send
    **kwargs)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests/sessions.py", line 494, in request
    prep = self.prepare_request(req)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests/sessions.py", line 437, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests/models.py", line 309, in prepare
    self.prepare_auth(auth, url)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests/models.py", line 540, in prepare_auth
    r = auth(self)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/requests_oauthlib/oauth2_auth.py", line 35, in __call__
    http_method=r.method, body=r.body, headers=r.headers)
  File "/Users/prburgu/infra/acmcloud/miniconda_macos/lib/python3.5/site-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 193, in add_token
    raise TokenExpiredError()
msrest.exceptions.TokenExpiredError: Token expired or is invalid., TokenExpiredError: (token_expired)
lmazuel commented 6 years ago

That's actually a msrestazure issue: https://github.com/Azure/msrestazure-for-python/issues/91