Azure Active Directory - 使用客户端证书

Azure Active Directory - Using Client Certificate

我正在关注这个例子:https://github.com/Azure-Samples/active-directory-dotnet-daemon-certificate-credential

我能够成功 运行 示例,获取访问令牌 (JWT) 并访问 Web API。

但是,我希望在 Azure AD 返回的令牌中有一个包含证书主题值(在本例中为 CN=TodoListDaemonWithCert)的声明。 这是因为我将拥有更多不同主题的证书(CN=TodoListDaemonWithCert-1、CN=TodoListDaemonWithCert-2...),它们也将在 TodoListDaemonwithCert 应用程序中注册。

Web API 将使用从令牌中读取的主题 (CN=TodoListDaemonWithCert) 作为下一步的身份。

如有任何想法,我们将不胜感激。

Azure Active Directory 当前不支持此类功能。添加到单个应用程序的多个证书都是可以互换的,使用特定证书不会影响身份验证体验的任何部分,包括令牌中的声明。

请记住,一个应用程序对象代表一个单一的应用程序身份。如果你试图表示多个应用程序,你应该采用不同的设计模式:

例如,如果您尝试支持每个租户都有自己的秘密的 multi-tenant 应用程序,那么您应该使用租户特定的服务主体来注册自定义证书。

如果您试图代表多个不同的应用程序身份,那么您应该注册多个应用程序,每个应用程序都有自己的证书。

如果有帮助请告诉我。