public async Task OnValidateIdentityWithGuidTest() { var owinContext = new OwinContext(); await CreateManager(owinContext); var manager = owinContext.GetUserManager <UserManager <GuidUser, Guid> >(); var user = new GuidUser { UserName = "******" }; UnitTestHelper.IsSuccess(await manager.CreateAsync(user)); var id = await SignIn(manager, user); var ticket = new AuthenticationTicket(id, new AuthenticationProperties { IssuedUtc = DateTimeOffset.UtcNow }); var context = new CookieValidateIdentityContext(owinContext, ticket, new CookieAuthenticationOptions()); await SecurityStampValidator.OnValidateIdentity <UserManager <GuidUser, Guid>, GuidUser, Guid>(TimeSpan.Zero, SignIn, claimId => new Guid(claimId.GetUserId())).Invoke(context); Assert.NotNull(context.Identity); Assert.Equal(user.Id.ToString(), id.GetUserId()); // change stamp and make sure it fails UnitTestHelper.IsSuccess(await manager.UpdateSecurityStampAsync(user.Id)); await SecurityStampValidator.OnValidateIdentity <UserManager <GuidUser, Guid>, GuidUser, Guid>(TimeSpan.Zero, SignIn, claimId => new Guid(claimId.GetUserId())).Invoke(context); Assert.Null(context.Identity); }
public async Task CustomGuidConfirmEmailTest() { var owinContext = new OwinContext(); await CreateManager(owinContext); var manager = owinContext.GetUserManager <UserManager <GuidUser, Guid> >(); var user = new GuidUser("test"); Assert.False(user.EmailConfirmed); UnitTestHelper.IsSuccess(await manager.CreateAsync(user)); var token = await manager.GenerateEmailConfirmationTokenAsync(user.Id); Assert.NotNull(token); UnitTestHelper.IsSuccess(await manager.ConfirmEmailAsync(user.Id, token)); Assert.True(await manager.IsEmailConfirmedAsync(user.Id)); UnitTestHelper.IsSuccess(await manager.SetEmailAsync(user.Id, null)); Assert.False(await manager.IsEmailConfirmedAsync(user.Id)); }
public async Task CustomGuidEmailTokenFactorWithFormatTest() { var owinContext = new OwinContext(); await CreateManager(owinContext); var manager = owinContext.GetUserManager <UserManager <GuidUser, Guid> >(); var messageService = new TestMessageService(); manager.EmailService = messageService; var factorId = "EmailCode"; manager.RegisterTwoFactorProvider(factorId, new EmailTokenProvider <GuidUser, Guid> { Subject = "Security Code", BodyFormat = "Your code is: {0}" }); var user = new GuidUser("EmailCodeTest"); user.Email = "*****@*****.**"; var password = "******"; UnitTestHelper.IsSuccess(await manager.CreateAsync(user, password)); var stamp = user.SecurityStamp; Assert.NotNull(stamp); var token = await manager.GenerateTwoFactorTokenAsync(user.Id, factorId); Assert.NotNull(token); Assert.Null(messageService.Message); await manager.NotifyTwoFactorTokenAsync(user.Id, factorId, token); Assert.NotNull(messageService.Message); Assert.Equal("Security Code", messageService.Message.Subject); Assert.Equal("Your code is: " + token, messageService.Message.Body); Assert.True(await manager.VerifyTwoFactorTokenAsync(user.Id, factorId, token)); }
private Task <ClaimsIdentity> SignIn(UserManager <GuidUser, Guid> manager, GuidUser user) { return(manager.ClaimsIdentityFactory.CreateAsync(manager, user, DefaultAuthenticationTypes.ApplicationCookie)); }