public LoginAuthenticationResponse(KoinoniaUsers user, string token, string email, string username) { Id = user.Id; FirstName = user.FirstName; LastName = user.LastName; Email = email; Username = username; Token = token; }
public LoginAuthenticationResponse Authenticate(Guid userId, string email, string username) { KoinoniaUsers user = userService.GetUser(userId); //return null if user is not found if (user == null) { return(null); } //user found successfully, now generate jwt token var token = GenerateJwtToken(user); return(new LoginAuthenticationResponse(user, token, email, username)); }
private string GenerateJwtToken(KoinoniaUsers user) { // generate token that will last for 7days var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSetting.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new[] { new Claim("Id", user.Id.ToString()) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); return(tokenHandler.WriteToken(token)); }