C# - 在多租户应用中验证发卡行

时间:2018-01-09 18:42:29

标签: c# .net jwt msal

我有一个内置.Net框架的web api,可以在访问控制器之前验证令牌。

我正在使用OWIN中间件来使用JWT承载认证。

var tvps = new TokenValidationParameters
        {
            // The web app and the service are sharing the same clientId
            ValidAudience = clientId,
            ValidateIssuer = false,
        };

app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions
        {
            AccessTokenFormat = new Microsoft.Owin.Security.Jwt.JwtFormat(tvps, new OpenIdConnectCachingSecurityTokenProvider("https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration")),
        });

我必须将ValidateIssuer设置为false,因为我不知道用户登录的是哪个租户。

这是否意味着我不应该对发行人进行任何检查?在此之后我该怎么做以及如何?

我从这个link获得了上述源代码。

1 个答案:

答案 0 :(得分:0)

虽然对于ASP.NET Web App this article可以帮助您决定做什么:如果您的目的是限制给定的租户使用您的Web API,那么您也可以使用 ValidIssuers 参数 - 如果您的API对任何具有Azure AD的组织开放,那么您应该只将 ValidateIssuer 设置为false。