public async Task <AuthenticationModel> Authenticate(AuthenticateModel model) { var user = await _authContext.Users.Where(u => u.Email == model.Email).FirstOrDefaultAsync(); if (user == null) { return(null); } bool isValidPassword = _passwordHasher.VerifyHashedPassword(model.Password, user.Password); if (!isValidPassword) { return(null); } var jwtToken = _tokenBuilder.GenerateToken(user); var authenticationModel = new AuthenticationModel { FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, Token = jwtToken }; return(authenticationModel); }
/// <summary> /// Generates a JWT Token using the specified TokenRequest and SymmetricSecurityKey /// </summary> /// <param name="request">TokenRequest</param> /// <param name="securityKey">SymmetricSecurityKey</param> /// <returns>string</returns> public string GenerateToken(TokenRequest request, SymmetricSecurityKey securityKey) { return(_builder.GenerateToken(request, securityKey)); }