0

我有一个带有 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?还是有其他方法我应该这样做?

谢谢你。

4

1 回答 1

1

您可以通过 TokenValidationParameters 的 ValidAudiences 属性设置多个受众。请参阅 api 文档: https ://docs.microsoft.com/en-us/dotnet/api/microsoft.identitymodel.tokens.tokenvalidationparameters.validaudiences?view=azure-dotnet#Microsoft_IdentityModel_Tokens_TokenValidationParameters_ValidAudiences

于 2020-04-30T02:44:28.387 回答