public ActionResult FacebookCallback(string code) { var fb = new FacebookClient(); dynamic result = fb.Post("oauth/access_token", new { client_id = System.Configuration.ConfigurationManager.AppSettings["FacebookAppID"], client_secret = System.Configuration.ConfigurationManager.AppSettings["FacebookAppSecret"], redirect_uri = RedirectUri.AbsoluteUri, code = code }); var accessToken = result.access_token; fb.AccessToken = accessToken; dynamic me = fb.Get("me?fields=email"); if (!IsUserRegistered(me.mail)) { using (TicketBookingEntities db = new TicketBookingEntities()) { string password = DateTime.Now.ToString(); RegisteredUser user = new Models.RegisteredUser() { Username = me.email, Password = password, Email = me.email }; db.RegisteredUsers.Add(user); db.Memberships.Add(new Models.Membership() { UserID = user.ID, Role = db.Roles.Single(x => x.ID == 1).Name }); db.SaveChanges(); } } FormsAuthentication.SetAuthCookie(me.email, false); Session["login"] = true; Session["username"] = me.email; return RedirectToAction("Index", "Home"); }
public ActionResult Login(Models.RegisteredUser user) { if (ValidateUser(user.Username, user.Password)) { return(RedirectToAction("Index", "LoggedIn")); } else { ModelState.AddModelError("", "Login data is incorrect!"); return(View()); } }