我们正在使用应用程序客户端凭据通过Azure AD进行身份验证。
这样做时,Identity.Name
是null
。这是因为没有名称声明映射到JWT中。
我们发现可以映射自定义声明,就像这样:Azure Active Directory中的声明映射。
当您将策略应用于应用程序时,下次进行身份验证时,您会收到一个错误:
"AADSTS50146:必须使用应用程序特定签名密钥配置此应用程序。"
很酷,有一种方法可以解决这个问题:New-AzureADApplicationKeyCredential。它表明您可以在应用程序中创建对称签名密钥,然后您现在拥有带有自定义声明的JWT。
但问题仍未解决:生成的jwt具有HS256头部,而不是所需的RS256算法。
当我尝试授权jwt时,它失败了,无权访问。
现在我被卡住了,我可以映射自定义声明,但无法授权jwt :(
有解决此问题的方法吗?