【问题标题】:How to get key name in asp net core 2.0 JwtBearer token from Azure AD如何从 Azure AD 获取 asp net core 2.0 JwtBearer 令牌中的密钥名称
【发布时间】:2017-08-17 20:32:36
【问题描述】:

我正在使用带有 Azure AD 身份验证的 ASP.NET Core 2.0 Web Api。

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

有没有办法在 WebApi 中获取已用密钥的名称?我无法在索赔之间找到他。

【问题讨论】:

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

标签: c# asp.net .net azure azure-active-directory


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-12-20
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2019-01-27
    • 2018-09-20
    • 2020-11-20
    相关资源
    最近更新 更多