public ActionResult Login(string redirect, FormCollection form) { if (form == null) { return(View()); } else if (form.AllKeys.Count() < 1) { return(View()); } else { string email = form["login-email"], password = form["login-password"]; if (!UserLogic.VerifyLoginDetails(email, AppSecurity.SHA1Encrypt(password))) { return(Json(new { action = "" })); } if (string.IsNullOrWhiteSpace(redirect)) { return(Json(new { action = "/" })); } else { return(Json(new { action = redirect })); } } }
public ActionResult Register(FormCollection form) { if (form == null) { return(View()); } else if (form.AllKeys.Count() < 1) { return(View()); } else { if (form.AllKeys.Contains("id_token")) //google sign in { HttpClient client = new HttpClient(); string tokenResponse = client.GetAsync("https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=" + form["id_token"]).Result.Content.ReadAsStringAsync().Result; dynamic data = JObject.Parse(tokenResponse); if (data.email_verified == "true") { if (UserLogic.IsRegisteredGoogleUser("google-" + data.sub)) { AppCookies.setCookie(AppCookies.UserId, "google-" + data.sub); return(Json(new { action = "/" })); } else { //register new google user GoogleUser user = new GoogleUser(); user.DateCreated = user.DateUpdated = DateTime.Now; user.EmailVerified = true; user.EMail = form["Email"]; user.UserName = user.Name = form["Name"]; user.ImageUrl = form["ImageURL"]; user.GoogleID = "google-" + data.sub; new GoogleUserDAO().Save(user); AppCookies.setCookie(AppCookies.UserId, "google-" + data.sub); return(Json(new { action = "/" })); } } else { // return(Json(new { action = "", error = "OneDice could not verify your google information" })); } } else { //register new user OneDice.Core.User user = new User(); user.DateCreated = user.DateUpdated = DateTime.Now; user.UserName = user.Name = form["register-username"]; user.EMail = form["register-email"]; user.Password = AppSecurity.SHA1Encrypt(form["register-password"]); var userDao = new UserDAO(); userDao.Save(user); AppCookies.setCookie(AppCookies.UserId, userDao.Table.Where(x => x.EMail == user.EMail).FirstOrDefault().ID.ToString()); return(Json(new { action = "/" })); } } }