public IActionResult Create(LoginRequest request) { if (!String.IsNullOrEmpty(request.username) && !String.IsNullOrEmpty(request.password)) { var libarian = _context.Librarians.Where(x => x.Account == request.username && x.PassWord == request.password).SingleOrDefault(); if (libarian != null) { var claimData = new[] { new Claim(ClaimTypes.Name, request.username) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("1234567890123456")); //at least 16 char var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature); var token = new JwtSecurityToken( issuer: "mysite.com", audience: "mysite.com", expires: DateTime.Now.AddSeconds(10), claims: claimData, signingCredentials: signingCredentials ); var tonkenString = new JwtSecurityTokenHandler().WriteToken(token); var userResult = new LoginReponse { Id = libarian.LibId, UserName = libarian.Account, FullName = libarian.Name, Token = "Bearer " + tonkenString }; return(Ok(userResult)); } } return(Ok("Wrong username or password")); }
public void Setup() { _server = new TestServer(new WebHostBuilder().UseStartup <Startup>()); _client = _server.CreateClient(); var random = new Random(); var userHelper = new UserHelper(); this.email = "email" + random.Next().ToString() + "@email.com"; var user = userHelper.CreateUser(_client, new { Email = this.email, Full_Name = "User", Password = "******", Confirm_Password = "******", Photo = Constants.PHOTO, Photo_Name = "photo.png", }).Result; userId = user.UserId; var authHelper = new AuthHelper(); var token = authHelper.Login(_client, this.email).Result; this.token = token; }
private void SaveSessionData(LoginReponse loginReponse) { sessionService.Self = loginReponse.user.RemoteId; sessionService.Token = loginReponse.token; sessionService.SaveSessionData(); userDatabase.SaveUserAsync(loginReponse.user); }
public LoginReponse Login(LoginDto data) { using (var context = new DBContext()) { try { var hash = _Util.HashPass.GenerateHash(data.Password); var passCode = (from p in context.PassCode where p.Token == hash && p.ServiceId == data.ServiceId select p).FirstOrDefault(); if (passCode == null) { throw new Exception("Mật khẩu không hợp lệ vui lòng nhập lại."); } LoginReponse result = _Util.JWT.Encode(passCode, 1); passCode.LoginAt = DateTime.Now; context.SaveChanges(); return(result); } catch (Exception ex) { throw ex; } } }
public async Task <LoginReponse> DoLogin(string username, string password) { string uri = $"http://consultadminwebserver.azurewebsites.net/api/Account/Login"; LoginReponse logedinUser = new LoginReponse(); HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); LoginRequest login = new LoginRequest { UserName = username, Password = password }; try { var requestJSON = JsonConvert.SerializeObject(login); HttpResponseMessage response = await httpClient.PostAsync(uri, new StringContent(requestJSON.ToString(), Encoding.UTF8, "application/json")).ConfigureAwait(false); //response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); // Deserialize the JSON data into LoginReponse LoginReponse loginReponse = JsonConvert.DeserializeObject <LoginReponse>(responseBody); logedinUser = loginReponse; } catch (Exception ex) { _logger.LoggError(ex, new Dictionary <string, string>() { { "Function", "DoLogin" } }, Insights.Severity.Error); } return(logedinUser); }
public async void Login(string username, string password, bool rememberMe) { AccountManager accountManager = new AccountManager(); LoginReponse logedinUser = await accountManager.DoLogin(username, password); if (logedinUser.StatusCode == 0) { try { CurrentUser.EmployeeId = logedinUser.EmployeeId; CurrentUser.UserId = logedinUser.UserId; CurrentUser.LocationId = logedinUser.LocationId; CurrentUser.FullName = logedinUser.FullName; CurrentUser.DefaultClintId = logedinUser.DefaultClintId; CurrentUser.DefaultContractId = 1; //CurrentUser.DefaultContractId = logedinUser.DefaultContractId; CurrentUser.StartTime = logedinUser.StartTime; CurrentUser.EndTime = logedinUser.EndTime; CurrentUser.LunchBreak = logedinUser.LunchBreak; CurrentUser.EmployeeContracts = logedinUser.EmployeeContracts; } catch (Exception ex) { _logger.LoggError(ex, new Dictionary <string, string>() { { "Function", "Login:SetCurrentUser" } }); } try { if (rememberMe) { LocalStorageManager localStorage = new LocalStorageManager(); localStorage.SaveUseridAndPassword(username, password); _logger.LoggEvent("Save user for auto-login", new Dictionary <string, string>() { { "Username", username } }); } else { LocalStorageManager localStorage = new LocalStorageManager(); localStorage.ClearUseridAndPassword(); _logger.LoggEvent("Clear username for auto-login", new Dictionary <string, string>() { { "Username", username } }); } } catch (Exception ex) { _logger.LoggError(ex, new Dictionary <string, string>() { { "Function", "Login:SetRememberMe" } }); } Insights.Identify(CurrentUser.UserId.ToLower()); Dictionary <string, string> myDict = new Dictionary <string, string> { { "Username", username }, { "EmployeeId", CurrentUser.EmployeeId.ToString() } }; _logger.LoggEvent("UserLogin", myDict); LoginMessage = "Login successfull, redirecting.."; //Ändra till true sen när validering på ,user och pass finns LoginRequired = false; } else { _logger.LoggText("Invalid user login! " + username); LoginRequired = true; LoginMessage = "Username or Password is wrong"; } }