【问题标题】:.NET Core 2-3 JWT Multiple Audiences.NET Core 2-3 JWT 多受众
【发布时间】:2020-08-10 23:29:52
【问题描述】:

我有一个带有 JWT 的 .NET Core 2(即将升级到 3)API。此 API 为母公司旗下的几家特定公司提供服务。母公司生成 JWT,并为请求公司设置特定的受众(多公司 API 是新事物)。因此,我的 API 需要支持多种不同的受众。

目前,我们根据请求的 URL 动态切换(公司 ID 在 URL 中)。此动态设置发生在 OnMessageReceived 中:

OnMessageReceived = msgRcvdContext =>
{
    companyId = GetCompanyId(msgRcvdContext.Request);
    options.TokenValidationParameters.ValidAudience = GetAudienceByCompanyId(companyId);
}

这是否更改了“全局”选项,而不是此特定请求的选项?如果这不是服务多个受众的正确方式,我应该怎么做?我是否应该将所有有效受众放入TokenValidationPrameters 的列表属性中?或者我应该有其他方法吗?

谢谢。

【问题讨论】:

  • 这可能是自定义受众验证器的工作。可以通过TokenValidationParameters.AudienceValidator设置,签名如下:bool AudienceValidator(IEnumerable<string> audiences, SecurityToken securityToken, TokenValidationParameters validationParameters)。似乎它支持具有多个受众的单个令牌,这就是 IEnumerable :)
  • 哦,我什至没看到。我会试一试。谢谢!

标签: asp.net-core jwt audience


【解决方案1】:

【讨论】:

  • @emery 这有帮助吗?
  • 嗨@YankTHEcode,在我有机会实施它之前,我被取消了这个项目,并且已经忘记了这个问题。就在今天,有人遇到了听起来像我担心的问题,所以他们正在调查。如果这是我会标记的答案,我希望很快就会知道,比如 1-2 周。感谢您的信息!
猜你喜欢
  • 2021-10-27
  • 1970-01-01
  • 2016-06-23
  • 2020-02-11
  • 2021-01-17
  • 2018-02-26
  • 1970-01-01
  • 2018-08-05
  • 1970-01-01
相关资源
最近更新 更多