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 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()); }