【发布时间】:2018-06-06 01:11:34
【问题描述】:
我正在尝试通过证书使用 AAD 对我的应用进行身份验证来获取访问令牌。证书安装在我的本地机器上(Windows 10)。访问外部 API 需要此身份验证。
我正在按照Azure Docs上发布的步骤进行操作
示例代码:
def authenticate_client_cert():
"""
Authenticate using service principal w/ cert.
"""
authority_host_uri = 'https://login.microsoftonline.com'
tenant = '<TENANT>'
authority_uri = authority_host_uri + '/' + tenant
resource_uri = 'https://management.core.windows.net/'
client_id = '<CLIENT_ID>'
client_cert = '<CLIENT_CERT>' ### MISSING THIS
client_cert_thumbprint = '<CLIENT_CERT_THUMBPRINT>'
context = adal.AuthenticationContext(authority_uri, api_version=None)
mgmt_token = context.acquire_token_with_client_certificate(resource_uri, client_id, client_cert, client_cert_thumbprint)
credentials = AADTokenCredentials(mgmt_token, client_id)
return credentials
我有 '<CLIENT_ID>'、'<TENANT>' 和 '<CLIENT_CERT_THUMBPRINT>'
,但我缺少 '<CLIENT_CERT>'
据我了解,'<CLIENT_CERT>' 是私钥,但我无法导出私钥,因为它是不允许的。
所以我不确定如何使用此证书从 AAD 进行身份验证。
【问题讨论】:
标签: python-3.x azure ssl-certificate azure-active-directory x509certificate