public override async Task <InteractionResponse> ProcessInteractionAsync(ValidatedAuthorizeRequest request, ConsentResponse consent = null) { var result = await base.ProcessInteractionAsync(request, consent); if (!result.IsLogin && !result.IsConsent && !result.IsRedirect && !result.IsError) { var tenantAcr = request.GetTenantAcrValue(); var claim = request.Subject?.Claims.SingleOrDefault(c => c.Type == AppClaimTypes.Tenant); var tenantClaim = claim?.Value.ToLowerInvariant(); if (!string.IsNullOrEmpty(tenantAcr) && !string.IsNullOrEmpty(tenantClaim)) { Logger.LogInformation("Validating tenant. Cookie tenant: {0}, acr tenant: {1}", tenantClaim, tenantAcr); return(new InteractionResponse { IsLogin = tenantClaim != tenantAcr }); } } return(result); }