【发布时间】:2020-08-20 09:30:00
【问题描述】:
我正在使用以下命令将新证书添加到 Azure AD 中的现有应用注册:
New-AzureADApplicationKeyCredential -ObjectId $AppObjectId -CustomKeyIdentifier $base64Thumbprint -Type AsymmetricX509Cert -Usage Verify -Value $base64Value -StartDate $cer.GetEffectiveDateString() -EndDate $validTo
这工作正常,我可以看到门户中添加的证书。
此证书是否也不能通过https://login.microsoftonline.com/{tenant}/discovery/keys 看到?appid={Application(client)ID}
我还尝试通过 Set-AzureADApplication 和直接通过门户添加证书信息。每次我都可以在“证书和机密”下以及应用程序清单中看到证书。无论我做什么,我都无法在 JWKS 端点中看到公共证书。
我对此的假设来自以下几点:
https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens
"如果您的应用由于使用声明映射功能而具有自定义签名密钥,则您必须附加一个包含应用 ID 的 appid 查询参数,以获取指向您应用的签名密钥信息的 jwks_uri,这应该用于验证。例如:https://login.microsoftonline.com/{tenant}/.well-known/openid-configuration?appid=6731de76-14a6-49ae-97bc-6eba6914391e 包含https://login.microsoftonline.com/{tenant}/discovery/keys 的 jwks_uri? appid=6731de76-14a6-49ae-97bc-6eba6914391e."
任何帮助将不胜感激。
【问题讨论】:
标签: azure powershell oauth azure-active-directory client-certificates