从 python 脚本执行 az 登录并捕获设备代码

问题描述 投票:0回答:2

从一个 python 程序中,我想运行

az login --use-device-code
并捕获代码并将其与 URL 一起显示给用户。 我们将有一个供用户登录的前端 如果通过子进程或 azure.cli.core 运行应该没问题。

python-3.x azure azure-cli
2个回答
0
投票

我确实同意@juunas,您可以选择使用

msal
,您也将获得相应的设备代码,我已在我的环境中重现,以下是预期结果:

import msal

c = "3a4d9391"
a = "https://login.microsoftonline.com/72f9db47"
appli = msal.PublicClientApplication(client_id=c, authority=a)
s = ["https://storage.azure.com/.default"]
output= appli.initiate_device_flow(scopes=s)
print(output["message"])

这里 c 是您的客户 ID a

https://login.microsoftonline.com/tenantid
s 是您想要提供给用户的范围。

enter image description here

这里您有URL代码


0
投票

即使我有相同的查询,假设您有新的租户信息。您只有用户电子邮件和密码以及租户 ID。作为自动化的一部分,我想做的第一件事是创建一个服务主体并使用它在订阅中配置资源。为了实现这一目标,我仍然没有已创建的服务主体(REST API 和 SDK 要求我们手头有一个服务主体,但我们没有)。如果我构建一个接受用户信息的 Web UI,或者单击时,一个按钮会将我重定向到 Microsoft 登录页面或给我一个用于登录的 URL 和设备代码。

© www.soinside.com 2019 - 2024. All rights reserved.