首先,在之前的 SDK 版本中,ADAL 还不可用,我们提供了一个 UserPassCredentials 类。这被认为已弃用,不应再使用。这不支持 2FA。但是根据我之前对此类的经验,我们要么在创建凭证对象时通过以下组合
1) 用户名、密码、2) 用户名、密码、资源 3) 客户端 ID、密码 4) 客户端 ID、密码和资源
资源默认为(' https://management.core.windows.net/ '。)
像这样的东西:
return UserPassCredentials(
config_data["username"],
config_data["password"],
)
UserPassCredentials(username, password, client_id=None, secret=None, **kwargs)
最后一个参数是可以具有以下值的选项
可选的 kwargs 可能包括:
cloud_environment (msrestazure.azure_cloud.Cloud):有针对性的云环境
china (bool):为基于中国的服务配置身份验证,默认为 'False'。
租户(str):替代租户,默认为“普通”。
resource (str): 替代认证资源,默认为' https://management.core.windows.net/ '。
verify (bool):验证安全连接,默认为 'True'。
timeout (int):请求的超时时间,以秒为单位。
proxies (dict):字典映射协议或协议和主机名到代理的 URL。
缓存(adal.TokenCache):一个adal.TokenCache,见ADAL配置
我假设,您在参数中传递了正确的值,另外请尝试传递我上面提到的组合,看看它是否有效。
希望能帮助到你。