Python ADAL приобретает токен обновления - PullRequest
1 голос
/ 08 марта 2019

Существует ли причина, по которой метод аутентификации библиотеки Python ADAL acqu_token_with_client_credentials не возвращает токен обновления? Я предполагаю, что приложениям Daemon не нужно использовать токен обновления при каждом запуске, но мне показалось странным, что другие методы аутентификации возвращают один.

Пример кода:

class AzureActiveDirectory_Helper:
_config = Configuration()
_resource = _config.Resource
_graph_api_endpoint = _config.Graph_API_Endpoint
_authority = _config.Authority

def __init__(self):
    self.Context = adal.AuthenticationContext(self._authority)
    self.Token = self.Context.acquire_token_with_client_credentials(
        resource=self._resource,
        client_id=self._config.Client_ID,
        client_secret="thisIsASuperSecretKey!!"
    )

    self.Headers = {
        'Authorization' : f'Bearer {self.Token["accessToken"]}',
        'Accept' : 'application/json',
        'Content-Type' : 'application/json'
    }

Значения в self.Token имеют значение accessToken, и этот токен позволяет мне делать то, что мне нужно, с приложением Azure AD, но разве не рекомендуется использовать токен обновления вместо получения свежего токена каждый пробег?

1 Ответ

3 голосов
/ 11 марта 2019

Да, я согласен, что рекомендуется использовать токен обновления вместо получения нового свежего токена каждый раз.

Выдача токена обновления с предоставлением учетных данных клиента не дает никаких преимуществ.Вот почему в разделе RFC6749 4.4.3 указано, что токен обновления НЕ ДОЛЖЕН включаться.

Согласно документу «acqu_token_with_client_credentials" возвращает только токен доступа.

ИтакЧтобы использовать токен обновления, библиотека Python Adal поддерживает другой метод аутентификации, например: «acqu_token», «acqu_token_with_refresh_token» и т. д. Вы можете проверить документацию.

Ниже приведены ссылки на документацию:

https://docs.microsoft.com/en-us/python/api/adal/adal.authentication_context.authenticationcontext?view=azure-python#acquire-token-with-client-credentials-resource--client-id--client-secret-

https://adal -python.readthedocs.io / en / latest /

...