Fix bad merge

- not exactly logging at the right spot in `GetAndStoreTokens()`
- test helpers were creating two separate `ServiceCollections`
 - also didn't compile!
This commit is contained in:
Doug Bunting 2016-02-09 16:43:01 -08:00
parent 73695fc443
commit c85badcf71
2 changed files with 18 additions and 21 deletions

View File

@ -50,19 +50,22 @@ namespace Microsoft.AspNetCore.Antiforgery.Internal
var antiforgeryContext = GetTokensInternal(httpContext);
var tokenSet = Serialize(antiforgeryContext);
if (!antiforgeryContext.HaveStoredNewCookieToken && antiforgeryContext.NewCookieToken != null)
if (!antiforgeryContext.HaveStoredNewCookieToken)
{
// Serialize handles the new cookie token string.
Debug.Assert(antiforgeryContext.NewCookieTokenString != null);
if (antiforgeryContext.NewCookieToken != null)
{
// Serialize handles the new cookie token string.
Debug.Assert(antiforgeryContext.NewCookieTokenString != null);
SaveCookieTokenAndHeader(httpContext, antiforgeryContext.NewCookieTokenString);
antiforgeryContext.HaveStoredNewCookieToken = true;
SaveCookieTokenAndHeader(httpContext, antiforgeryContext.NewCookieTokenString);
antiforgeryContext.HaveStoredNewCookieToken = true;
_logger.NewCookieToken();
}
else
{
_logger.ReusedCookieToken();
_logger.NewCookieToken();
}
else
{
_logger.ReusedCookieToken();
}
}
return tokenSet;

View File

@ -6,7 +6,6 @@ using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Internal;
using Microsoft.AspNetCore.Testing;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
@ -878,28 +877,23 @@ namespace Microsoft.AspNetCore.Antiforgery.Internal
loggerFactory: loggerFactory);
}
private IServiceProvider GetServices()
private IServiceProvider GetServices(IAntiforgeryContextAccessor contextAccessor)
{
var builder = new ServiceCollection();
builder.AddSingleton<IAntiforgeryContextAccessor>(contextAccessor);
builder.AddSingleton<ILoggerFactory>(new LoggerFactory());
return builder.BuildServiceProvider();
}
private HttpContext GetHttpContext(IAntiforgeryContextAccessor contextAccessor)
private HttpContext GetHttpContext(IAntiforgeryContextAccessor contextAccessor = null)
{
var httpContext = new DefaultHttpContext();
httpContext.RequestServices = GetServices();
contextAccessor = contextAccessor ?? new DefaultAntiforgeryContextAccessor();
httpContext.RequestServices = GetServices(contextAccessor);
httpContext.User = new ClaimsPrincipal(new ClaimsIdentity("some-auth"));
contextAccessor = contextAccessor ?? new DefaultAntiforgeryContextAccessor();
var serviceCollection = new ServiceCollection();
serviceCollection.AddSingleton<IAntiforgeryContextAccessor>(contextAccessor);
httpContext.RequestServices = serviceCollection.BuildServiceProvider();
return httpContext;
}