1

我想从我的 python 应用程序对 Azure Blockchain Workbench 进行 API 调用。为此,API 调用需要授权承载。当我使用 Inspect Element 从 Azure UI Webapp 获取承载时,相同的令牌承载可以很好地与 API 调用配合使用。但是,在 API 调用中使用时,ADAL 在 Python 中返回的承载显示 401 unauthorized。

对于检查元素部分,我通过登录https://votemaadi-4bm4ew.azurewebsites.net然后使用检查元素来获取我的令牌。

在python部分,这是我的代码

import adal
import swagger_client
from swagger_client.api_client import ApiClient
context = adal.AuthenticationContext("https://login.microsoftonline.com/kumarshobhit98outlook.onmicrosoft.com/",api_version=None)
client_id="c62087b9-cfed-4105-a9c2-4fd3953ceed5"
res='c80344c2-d7fc-41e1-adcc-dd33683a7f6b'
token = context.acquire_token_with_username_password(resource='https://graph.windows.net',username="shobhit@kumarshobhit98outlook.onmicrosoft.com",password="pass",client_id=client_id)
print(token['accessToken'])

我想在 python 中获得一个身份验证承载,我可以进一步与 API 调用一起使用。

4

1 回答 1

2

resource 的值不正确,要让 access token 访问你的 api,你应该使用 client_id 作为值。

token = context.acquire_token_with_username_password(resource=client_id,username="shobhit@kumarshobhit98outlook.onmicrosoft.com",password="pass",client_id=client_id)
于 2019-08-12T01:55:26.893 回答