我有一个内置.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获得了上述源代码。
答案 0 :(得分:0)
虽然对于ASP.NET Web App this article可以帮助您决定做什么:如果您的目的是限制给定的租户使用您的Web API,那么您也可以使用 ValidIssuers 参数 - 如果您的API对任何具有Azure AD的组织开放,那么您应该只将 ValidateIssuer 设置为false。