Python 教育 acquire_token_with_client_credentials 刷新令牌?
Python ADAL acquire_token_with_client_credentials refresh token?
Python ADAL 库的身份验证方法 acquire_token_with_client_credentials 没有 return 刷新令牌的原因是什么?我想守护程序应用程序不需要每次都使用刷新令牌 运行 但我觉得其他身份验证方法 return 很奇怪。
代码示例:
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 应用执行我需要的操作,但使用刷新令牌不是最佳做法吗而不是每 运行?
获取一个新的令牌
是的,我同意使用刷新令牌而不是每次都获取新令牌是最佳做法。
使用客户端凭据授予颁发刷新令牌没有任何好处。这就是为什么 RFC6749 section 4.4.3 表示不应包含刷新令牌。
根据文档,“acquire_token_with_client_credentials”returns 仅访问令牌。
所以要使用刷新令牌,python adal 库支持其他身份验证方法,例如:
"acquire_token", "acquire_token_with_refresh_token" 等。可以查看文档。
下面是文档链接:
Python ADAL 库的身份验证方法 acquire_token_with_client_credentials 没有 return 刷新令牌的原因是什么?我想守护程序应用程序不需要每次都使用刷新令牌 运行 但我觉得其他身份验证方法 return 很奇怪。
代码示例:
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 应用执行我需要的操作,但使用刷新令牌不是最佳做法吗而不是每 运行?
是的,我同意使用刷新令牌而不是每次都获取新令牌是最佳做法。
使用客户端凭据授予颁发刷新令牌没有任何好处。这就是为什么 RFC6749 section 4.4.3 表示不应包含刷新令牌。
根据文档,“acquire_token_with_client_credentials”returns 仅访问令牌。
所以要使用刷新令牌,python adal 库支持其他身份验证方法,例如: "acquire_token", "acquire_token_with_refresh_token" 等。可以查看文档。
下面是文档链接: