public async Task <IActionResult> CreateToken([FromBody] LogInReq model) { try { var user = await _userRepository.WithEmail(model.Email); if (user == null) { return(NotFound("Usuario con email no existe")); } if (_passwordHasher.VerifyHashedPassword(user, user.Password, model.Password) != PasswordVerificationResult.Success) { return(Unauthorized()); } var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.Id.ToString()), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.Email, user.Email) }; var jwtSecurityToken = _jwtTokenGenerator.CreateToken(claims); return(Ok(new AuthResponse { Token = new JwtSecurityTokenHandler().WriteToken(jwtSecurityToken), Expiration = jwtSecurityToken.ValidTo, User = new UserResponse(user), IAmRoot = await permissionRepository.UserIsRoot(user.Id), Permissions = (await permissionRepository.GetUserPermissions(user.Id)).Select(p => new PermissionResponse(p)).ToList(), Companies = (await companyRepository.GetUserCompanies(user.Id)).Select(c => new CompanyResult(c)).ToList() })); } catch (Exception ex) { _logger.LogError($"error while creating token: {ex}"); return(StatusCode((int)HttpStatusCode.InternalServerError, "error while creating token")); } }
public LogInRes GetStudentLogIn(LogInReq req) { var retValue = new LogInRes(); SqlParameter prmHSRollNo = new SqlParameter("@HSRollNo", SqlDbType.VarChar); prmHSRollNo.Value = req.HSRollNo; SqlParameter prmApplicationID = new SqlParameter("@ApplicationID", SqlDbType.VarChar); prmApplicationID.Value = DBNull.Value; SqlParameter prmStudentID = new SqlParameter("@StudentID", SqlDbType.Int); prmStudentID.Value = DBNull.Value; SqlParameter prmCURegNo = new SqlParameter("@CURegNo", SqlDbType.VarChar); prmCURegNo.Value = DBNull.Value; SqlParameter prmDOB = new SqlParameter("@DOB", SqlDbType.VarChar); prmDOB.Value = req.DOB.Date; SqlParameter prmType = new SqlParameter("@Type", SqlDbType.Char); prmType.Value = "1"; using (SqlDataReader dr = SqlServerHelper.ExecuteReaderProc("[Student].[upGetLogin]", prmStudentID, prmApplicationID, prmHSRollNo, prmCURegNo, prmDOB, prmType)) { if (dr != null && dr.HasRows) { dr.Read(); retValue = new LogInRes { StudentID = Convert.ToInt32(dr["StudentID"]), ProgYear = object.ReferenceEquals(dr["ProgYear"], DBNull.Value) ? string.Empty : Convert.ToString(dr["ProgYear"]), }; } } return(retValue); }