以下是一个使用AAD身份验证获取访问令牌的代码示例:
import requests
import adal
# AAD租户ID
tenant_id = 'YOUR_TENANT_ID'
# 应用程序客户端ID
client_id = 'YOUR_CLIENT_ID'
# 应用程序客户端密钥
client_secret = 'YOUR_CLIENT_SECRET'
# 资源URI
resource_uri = 'https://graph.microsoft.com'
# AAD授权终结点
authority_url = 'https://login.microsoftonline.com/' + tenant_id
# 创建ADAL身份验证上下文
context = adal.AuthenticationContext(authority_url)
# 使用客户端凭据模式进行身份验证
token = context.acquire_token_with_client_credentials(resource_uri, client_id, client_secret)
# 获取访问令牌
access_token = token['accessToken']
# 发送请求并在标头中包含访问令牌
headers = {'Authorization': 'Bearer ' + access_token}
response = requests.get('https://api.example.com', headers=headers)
# 处理响应
if response.status_code == 200:
print('请求成功')
else:
print('请求失败')
在这个示例中,我们使用adal
库来处理AAD身份验证。首先,我们创建了一个AuthenticationContext
对象,并提供了AAD授权终结点的URL。然后,我们使用acquire_token_with_client_credentials
方法来使用客户端凭据模式进行身份验证,并获取访问令牌。最后,我们将访问令牌添加到请求的标头中,并发送请求。
请注意,你需要将示例代码中的YOUR_TENANT_ID
,YOUR_CLIENT_ID
和YOUR_CLIENT_SECRET
替换为你自己的实际值。此外,你还需要将resource_uri
替换为你要访问的实际资源的URI。