public void Test_ReturnsFailureIf_InValidCookieEsistsOrIfCookieIsDamaged() { var serializer = new TicketSerializer(); var ticket = new AuthenticationTicket( new ClaimsPrincipal( new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, "Foo User"), }, AuthConstants.SPNEGO_DEFAULT_SCHEME)), AuthConstants.SPNEGO_DEFAULT_SCHEME); var serializedTicket = serializer.Serialize(ticket); var protectedTicket = dataProtector.Protect(serializedTicket); var encodedTicket = Convert.ToBase64String(protectedTicket); var cookie = new HttpCookie(AuthConstants.AUTH_COOKIE_NM) { Expires = DateTime.Now.AddDays(CookieAuthenticator.COOKIE_TIMEOUT_IN_MINUTES), Value = encodedTicket + "Corrupt" }; cookies.Set(cookie); browser.SetupGet(b => b.Cookies).Returns(true); var authenticator = new CookieAuthenticator(dataProtector, logger.Object); var result = authenticator.Authenticate(context.Object); Assert.False(result.Succeeded); Assert.Equal($"Unable to extract cookie '{AuthConstants.AUTH_COOKIE_NM}', cookie might be damaged/modified", result.Failure.Message); }
public void Test_ReturnsSuccessIfValidCookieEsists() { var serializer = new TicketSerializer(); var ticket = new AuthenticationTicket( new ClaimsPrincipal( new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, "Foo User"), }, AuthConstants.SPNEGO_DEFAULT_SCHEME)), AuthConstants.SPNEGO_DEFAULT_SCHEME); var serializedTicket = serializer.Serialize(ticket); var protectedTicket = dataProtector.Protect(serializedTicket); var encodedTicket = Convert.ToBase64String(protectedTicket); var cookie = new HttpCookie(AuthConstants.AUTH_COOKIE_NM) { Expires = DateTime.Now.AddDays(CookieAuthenticator.COOKIE_TIMEOUT_IN_MINUTES), Value = encodedTicket }; cookies.Set(cookie); browser.SetupGet(b => b.Cookies).Returns(true); var authenticator = new CookieAuthenticator(dataProtector, logger.Object); var result = authenticator.Authenticate(context.Object); Assert.True(result.Succeeded); Assert.Equal("Foo User", result.Principal.Identity.Name); }
public void Test_ReturnsNoResultIfBrowserDoesNotSupportCookies() { browser.SetupGet(b => b.Cookies).Returns(false); var authenticator = new CookieAuthenticator(dataProtector, logger.Object); Assert.False(authenticator.Authenticate(context.Object).Succeeded); }
public void Test_ReturnsNoResultOrNotSuccessIf_CookieDoesNotEsist() { browser.SetupGet(b => b.Cookies).Returns(true); var authenticator = new CookieAuthenticator(dataProtector, logger.Object); var result = authenticator.Authenticate(context.Object); Assert.False(result.Succeeded); }