C# 如何从Azure AD获取asp net core 2.0 JWTBear令牌中的密钥名

C# 如何从Azure AD获取asp net core 2.0 JWTBear令牌中的密钥名,c#,asp.net,.net,azure,azure-active-directory,C#,Asp.net,.net,Azure,Azure Active Directory,我正在使用ASP.NET Core 2.0 Web Api,并通过Azure AD进行身份验证 为了针对Azure AD进行身份验证,我使用的是密钥而不是用户凭据。密钥是在Azure门户上生成的 有什么方法可以在WebApi中获取所用密钥的名称吗?我没能在两次索赔之间找到他 AFAIK,目前没有这样的api将返回应用程序密钥的描述。在您的场景中,您无法根据单独的密钥知道哪些Windows服务。正如@jeffaudio所建议的,您可以为每个Windows服务创建一个单独的AzureAD应用程序(和

我正在使用ASP.NET Core 2.0 Web Api,并通过Azure AD进行身份验证

为了针对Azure AD进行身份验证,我使用的是密钥而不是用户凭据。密钥是在Azure门户上生成的

有什么方法可以在WebApi中获取所用密钥的名称吗?我没能在两次索赔之间找到他


AFAIK,目前没有这样的api将返回应用程序密钥的描述。在您的场景中,您无法根据单独的密钥知道哪些Windows服务。正如@jeffaudio所建议的,您可以为每个Windows服务创建一个单独的AzureAD应用程序(和密钥)


作为一种解决方法,您可以在调用web api时发送自定义属性,属性的值将标识哪个服务应用程序发送请求,每个应用程序都有单独的值。您可以在请求头中包含属性。

我很确定这只是为了装饰。你想用钥匙干什么?也许有一种不同的方式来得到你想要的。请记住,这些密钥仍然绑定到同一个用户/客户端,因此如果您希望能够区分客户端,您需要为每个客户端创建一个单独的AzureAD应用程序(和密钥),以便它们拥有自己唯一的客户端/密匙对。我有多个Windows服务。他们正在与相同的应用程序服务(web api)通信。每个WS都有单独的键,我想根据键来区分它们。我认为密钥不会绑定到任何用户。只是为了AzureAD应用程序。