コード例 #1
0
        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); 

            


        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        public async Task <IdentityUser> FindUser(string userName, string password)
        {
            IdentityUser user = await _userManager.FindAsync(userName, password);

            return(user);
        }