public async Task TestMethod0() { IdentityTableContext<IdentityUser> context = new IdentityTableContext<IdentityUser>( new CloudStorageAccount(new StorageCredentials("c1azuretests", File.ReadAllText("C:\\dev\\storagekey.txt")), true)); var store = new UserStore<IdentityUser>(context); var mgr = new Microsoft.AspNet.Identity.UserManager<IdentityUser>(store); var obj = await mgr.FindAsync(new UserLoginInfo("google", "notfound")); Assert.IsNull(obj); var username="******"+Guid.NewGuid().ToString().Substring(0,5); var user = new IdentityUser(username); var result = await mgr.CreateAsync(user); Trace.WriteLine(string.Join(", ", result.Errors)); Assert.AreEqual(0, result.Errors.Count()); var userFromDb = await mgr.FindByIdAsync(user.Id); Assert.IsNotNull(userFromDb); }
public async Task <ActionResult> Login(LoginViewModel model) { if (!ModelState.IsValid) { return(View()); } var user = await userManager.FindAsync(model.Email, model.Password); if (user != null) { await SignIn(user); return(RedirectToAction("Index", "Home")); } // user authN failed ModelState.AddModelError("", "Invalid email or password"); return(View()); }
public override async Task AuthenticateExternalAsync(ExternalAuthenticationContext ctx) { var externalUser = ctx.ExternalIdentity; var message = ctx.SignInMessage; if (externalUser == null) { throw new ArgumentNullException("externalUser"); } var user = await userManager.FindAsync(new Microsoft.AspNet.Identity.UserLoginInfo(externalUser.Provider, externalUser.ProviderId)); if (user == null) { ctx.AuthenticateResult = await ProcessNewExternalAccountAsync(externalUser.Provider, externalUser.ProviderId, externalUser.Claims); } else { ctx.AuthenticateResult = await ProcessExistingExternalAccountAsync(user.Id, externalUser.Provider, externalUser.ProviderId, externalUser.Claims); } }
public async Task <IdentityUser> FindUser(string userName, string password) { IdentityUser user = await _userManager.FindAsync(userName, password); return(user); }