public JObject validate_access_token([FromBody] JObject value) { Boolean validationCheck = false; JObject returnObject = new JObject(); try { //String temp = "*****@*****.**"; //System.Diagnostics.Debug.WriteLine(value["AccessToken"]); Classes.Token token = new Classes.Token(); validationCheck = token.ValidateToken(value["AccessToken"].ToString(), value["Email"].ToString()); //System.Diagnostics.Debug.WriteLine("VALIDATION CHECK => "+ validationCheck); returnObject.Add("AccessValidation", validationCheck); if (validationCheck == true) { checkarr.checkarrContext checkarrDBContext = new checkarr.checkarrContext(); checkarr.UserLog user1 = checkarrDBContext.UserLog.FirstOrDefault(i => i.UserEmaill == value["Email"].ToString()); if (user1 != null) { String activation_check = user1.Activated; if (activation_check == "T") { returnObject.Add("account_activated", true); } else { returnObject.Add("account_activated", false); } int user_id = user1.IduserLog; returnObject.Add("user_id", user_id); String user_email = user1.UserEmaill; returnObject.Add("user_email", user_email); } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Exception in AuthenticationController" + e); } return(returnObject); }
public Boolean Post([FromBody] Classes.User user) { if (user.Email != null && user.Password != null) { user.Email = user.Email.ToLower(); checkarr.checkarrContext registerDBContext = new checkarr.checkarrContext(); checkarr.UserLog UserRegister = registerDBContext.UserLog.FirstOrDefault(i => i.UserEmaill == user.Email); if (UserRegister != null) { // To be executed when user exists in the DB System.Diagnostics.Debug.Print("> User Exists"); return(false); } else { string temp_email; // To be executed when user doesn't exist in the DB UserRegister = new checkarr.UserLog(); UserRegister.UserFullname = user.Fullname; UserRegister.UserEmaill = user.Email; temp_email = user.Email; UserRegister.UserPassword = user.Password; UserRegister.UserSex = user.Gender; UserRegister.UserReg = DateTime.UtcNow; UserRegister.Activated = "F"; UserRegister.Disabled = "F"; // AuthRepository _authRepository = new AuthRepository(registerDBContext); /* have to make this await */ // _authRepository.Register(UserRegister, user.Password); //Adding user to the register context and saving that context registerDBContext.UserLog.Add(UserRegister); registerDBContext.SaveChanges(); Classes.Mailer currentMailer = new Classes.Mailer(); currentMailer.sendWelcomeMail(user.Email); /* * int newUserID; * // * // Id of last user * UserRegister = registerDBContext.UserLog.Last(); * if(temp_email == UserRegister.UserEmaill) * newUserID = UserRegister.IduserLog; * else * { * UserRegister = registerDBContext.UserLog.FirstOrDefault(i => i.UserEmaill == temp_email); * newUserID = UserRegister.IduserLog; * } * Classes.CodeGenerator codeGenerator = new Classes.CodeGenerator(); * String activationCode = codeGenerator.ActivationCodeGenerator(); * * // saving in confirmation code table * checkarr.Confirmationcode confirmationCodeModel = new checkarr.Confirmationcode(); * confirmationCodeModel.ConfirmationCode = activationCode; * confirmationCodeModel.ConfirmationType = "ACTIVATION_CODE"; * confirmationCodeModel.GeneratedOn = DateTime.UtcNow; * confirmationCodeModel.ExpiryTime = DateTime.UtcNow.AddDays(1); * confirmationCodeModel.Used = "F"; * confirmationCodeModel.UserId = newUserID;// have to update user id * * registerDBContext.Confirmationcode.Add(confirmationCodeModel); * registerDBContext.SaveChanges(); * * * Classes.Token tokenGenerator = new Classes.Token(); * JwtSecurityToken activationToken = tokenGenerator.GenerateActivationToken(newUserID); * * * // sending activation mail * Classes.Mailer currentMailer = new Classes.Mailer(); * currentMailer.sendActivationMail(user.Email, new JwtSecurityTokenHandler().WriteToken(activationToken), activationCode); */ //System.Diagnostics.Debug.Print("===========================\n"); //System.Diagnostics.Debug.Print("Register POST\n"); //System.Diagnostics.Debug.Print("===========================\n"); //System.Diagnostics.Debug.Print("Fullname: " + user.Fullname + "\n"); //System.Diagnostics.Debug.Print("Email: " + user.Email + "\n"); //System.Diagnostics.Debug.Print("Password: "******"\n"); //System.Diagnostics.Debug.Print("Gender: " + user.Gender + "\n"); //System.Diagnostics.Debug.Print("===========================\n"); return(true); } // return false; } else { return(false); } }
public IActionResult Post([FromBody] Classes.User user) { try { if (user != null) { // Initializing New DBContext user.Email = user.Email.ToLower(); checkarr.checkarrContext loginDBContext = new checkarr.checkarrContext(); checkarr.UserLog UserLogin = loginDBContext.UserLog.FirstOrDefault(i => i.UserEmaill == user.Email); if (UserLogin == null) { System.Diagnostics.Debug.Print("** USER NOT FOUND"); return(Ok(new { OK = 3, Issued = false, Token = "", Type = "None", Generation = "NA", Expiration = "NA", Issuer = "http://www.checkarr.com" })); } else if (user.Password == UserLogin.UserPassword) { // To be executed whe login is successful Classes.Token CurrentToken = new Classes.Token(); CurrentToken.GenerateToken(UserLogin.UserEmaill); JwtSecurityToken refreshToken = CurrentToken.GenerateRefreshToken(UserLogin.UserEmaill); // have to save details in database return(Ok(new { Ok = 1, Issued = true, Token = new JwtSecurityTokenHandler().WriteToken(CurrentToken.token), refresh_token = new JwtSecurityTokenHandler().WriteToken(refreshToken), activation_status = UserLogin.Activated, user_id = UserLogin.IduserLog, user_email = UserLogin.UserEmaill })); } else { // To be executed the login fails return(Ok(new { OK = 2, Issued = false, Token = "Not issued", Type = "None", Generation = "NA", Expiration = "NA", Issuer = "http://www.checkarr.com" })); } } else { return(Unauthorized()); } } catch (Exception e) { System.Diagnostics.Debug.Print(e.ToString()); } return(Unauthorized()); }
public JObject refresh_access_token([FromBody] JObject value) { JObject returnObject = new JObject(); try { String REFRESH_TOKEN = value["refresh_token"].ToString(); String EMAIL = value["email"].ToString(); Classes.Token currentTokenObj = new Classes.Token(); if (currentTokenObj.ValidateRefreshToken(REFRESH_TOKEN, EMAIL)) { // refresh token is valid String new_refresh_token = new JwtSecurityTokenHandler().WriteToken(currentTokenObj.GenerateRefreshToken(EMAIL)); currentTokenObj.GenerateToken(EMAIL); String new_access_token = new JwtSecurityTokenHandler().WriteToken(currentTokenObj.token); String email = EMAIL; checkarr.checkarrContext checkarrDBContext = new checkarr.checkarrContext(); checkarr.UserLog user1 = checkarrDBContext.UserLog.FirstOrDefault(i => i.UserEmaill == EMAIL); if (user1 != null) { String activation_check = user1.Activated; if (activation_check == "T") { returnObject.Add("account_activated", true); } else { returnObject.Add("account_activated", false); } int user_id = user1.IduserLog; returnObject.Add("user_id", user_id); String user_email = user1.UserEmaill; returnObject.Add("user_email", user_email); } returnObject.Add("RETURN_CODE", 1); // refresh token valid returnObject.Add("NEW_REFRESH_TOKEN", new_refresh_token); returnObject.Add("NEW_ACCESS_TOKEN", new_access_token); returnObject.Add("EMAIL", email); } else { // refresh token is not valid returnObject.Add("RETURN_CODE", 2); // refresh token is not valid } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Exception in refresh_access_token :" + e); returnObject.Add("RETURN_CODE", 3); // exception has occured } return(returnObject); }
public JObject Account_recovery([FromBody] JObject value) { JObject returnObject = new JObject(); try { checkarr.checkarrContext registerDBContext = new checkarr.checkarrContext(); checkarr.UserLog Userr = registerDBContext.UserLog.FirstOrDefault(i => i.UserEmaill == value["RECOVERY_EMAIL"].ToString()); // query through database and store email in recovery_email_temp if (Userr == null) { returnObject.Add("RETURN_CODE", 2); returnObject.Add("RECOVERY_TOKEN", null); } else if (value["RECOVERY_EMAIL"].ToString() == Userr.UserEmaill) { // string gen_recoveryToken_tmp= JwtSecurityToken recoveryToken = new JwtSecurityToken(); recoveryToken = new Classes.Token().GenerateRecoveryToken(value["RECOVERY_EMAIL"].ToString()); Classes.CodeGenerator recovery_code_temp = new Classes.CodeGenerator(); string recoverycode_stringtemp = recovery_code_temp.RecoveryCodeGenerator(); //SAVE recoverycode_stringtemp TO TABLE CONFIRMATION CODES WITH TYPE "RECOVERY_CODE" checkarr.Confirmationcode newcode = new checkarr.Confirmationcode(); newcode.ConfirmationCode = recoverycode_stringtemp; newcode.ConfirmationType = "RECOVERY_CODE"; newcode.GeneratedOn = DateTime.UtcNow; newcode.ExpiryTime = DateTime.UtcNow.AddDays(1); newcode.Used = "F"; newcode.UserId = Userr.IduserLog; registerDBContext.Confirmationcode.Add(newcode); registerDBContext.SaveChanges(); Classes.Mailer mail_temp_obj = new Classes.Mailer(); mail_temp_obj.sendRecoveryMail(value["RECOVERY_EMAIL"].ToString(), new JwtSecurityTokenHandler().WriteToken(recoveryToken), recoverycode_stringtemp); returnObject.Add("RETURN_CODE", 1); returnObject.Add("RECOVERY_TOKEN", new JwtSecurityTokenHandler().WriteToken(recoveryToken)); } else { returnObject.Add("RETURN_CODE", 2); returnObject.Add("RECOVERY_TOKEN", null); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("EXCEPTION IN ACCOUNT RECOVERY = " + ex); returnObject.Add("RETURN_CODE", 3); returnObject.Add("RECOVERY_TOKEN", null); } /* * . RETURN_CODE: 1 = RECOVERY MAIL IS SENT * . RETURN_CODE: 2 = RECOVERY MAIL DOES NOT EXIST * . RETURN_CODE: 3 = EXCEPTION * */ return(returnObject); }