public IActionResult GetUser() { var data = getUser.GetUsers(); if (data == null) { return(BadRequest(new { message = "Users data couldn`t get" })); } return(Ok(data)); }
public TokenResponse Authenticate(string username, string password) { var user = _user.GetUsers().SingleOrDefault(x => x.Username == username && x.Password == Cryptography.Encrypt(password, _appSettings.Secret)); // return null if user not found if (user == null) { return(null); } // authentication successful so generate jwt token var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.Id.ToString()) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); TokenResponse tokenRes = new TokenResponse { token = tokenHandler.WriteToken(token), expireDate = tokenDescriptor.Expires, UserId = user.Id }; return(tokenRes); }
public async Task <IActionResult> GetUser([FromQuery] string customerId) { DynamoTableUsers response = new DynamoTableUsers(); try { response = await _getItem.GetUsers(customerId); } catch (Exception e) { return(BadRequest(e.Message)); } return(Ok(response)); }
public async Task <User> Update(string customerId, string plan) { var response = await _getUser.GetUsers(customerId); var currentplan = response.Users.Select(p => p.Plan).FirstOrDefault(); var request = RequestBuilder(customerId, plan, currentplan); var result = await UpdateItemAsync(request); return(new User { Id = result.Attributes["id"].S, Plan = result.Attributes["customerPlan"].S, }); }
public async Task <User> UpdateUserLastAccessed(string email, string newAccessed) { var response = await _getUser.GetUsers(email); var previousAccessed = response.Users.Select(p => p.LastAccessed).FirstOrDefault(); var request = RequestBuilder(email, previousAccessed, newAccessed); var result = await UpdateItemAsync(request); return(new User { Email = result.Attributes["Email"].S, SubscriptionPlan = result.Attributes["SubscriptionPlan"].S, LastPaid = result.Attributes["LastPaid"].S, UserName = result.Attributes["UserName"].S, Password = result.Attributes["Password"].S, PhoneNo = result.Attributes["PhoneNo"].S, LastAccessed = result.Attributes["LastAccessed"].S }); }
public async Task <IActionResult> GetUser([FromQuery] string email) { var response = await _getUser.GetUsers(email); return(Ok(response)); }