Пример #1
0
        public ActionResult <PersonaDto> Login(Usuarios usuario)
        {
            var user = _context.Usuarios.Include(u => u.IdPersonaNavigation)
                       .FirstOrDefault(x => x.IdPersonaNavigation.Email == usuario.UsuarioNombre);

            if (user == null)
            {
                return(BadRequest(new { message = "Usuario invalido" }));
            }



            if (!BCrypt.Net.BCrypt.Verify(usuario.Password, user.Password))
            {
                return(BadRequest(new { message = "Usuario invalido" }));
            }
            var jwt = _jwtService.Generate(user.IdUsuario);

            Response.Cookies.Append("jwt", jwt, new CookieOptions
            {
                HttpOnly = true
            });

            return(new PersonaDto
            {
                Apellido = user.IdPersonaNavigation.Apellido, Nombre = user.IdPersonaNavigation.Nombre
            });
        }
Пример #2
0
        public async Task <IActionResult> Register([FromBody] BasicRegisterRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var addUserResult = await _userRepository.AddUserAsync(request);

            if (!addUserResult.Succeed)
            {
                return(Problem(addUserResult.Errors));
            }
            var user = addUserResult.Data;

            // Generates tokens
            var generateTokensResult = _jwtService.Generate(user.Id, request.Name, request.Email);

            if (generateTokensResult.Succeed)
            {
                return(BadRequest(generateTokensResult.Errors));
            }
            var tokens = generateTokensResult.Data;

            // Cookies
            Response.Cookies.Append("pritz_jwt", tokens.Token, new Microsoft.AspNetCore.Http.CookieOptions
            {
            });

            return(Ok(tokens));
        }
Пример #3
0
        public IActionResult Login(LoginDto dto)
        {
            var user = _repository.GetByEmail(dto.Email);

            if (user == null)
            {
                return(BadRequest(new { message = "Invalid Credentials" }));
            }

            if (!BCrypt.Net.BCrypt.Verify(dto.Password, user.Password))
            {
                return(BadRequest(new { message = "Invalid Credentials" }));
            }

            var jwt = _jwtService.Generate(user.Id);

            Response.Cookies.Append("jwt", jwt, new CookieOptions
            {
                HttpOnly = true
            });

            return(Ok(new
            {
                message = "success"
            }));
        }
Пример #4
0
        public IActionResult Login(DTO data)
        {
            string hashedPassword = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                               password: data.password,
                                                               salt: salt,
                                                               prf: KeyDerivationPrf.HMACSHA256,
                                                               iterationCount: 100000,
                                                               numBytesRequested: 256 / 8));

            var user = db.Users.FirstOrDefault(x => x.Email == data.email);

            //var user2 = db.Users.Where(u => u.Email == data.email).FirstOrDefault();
            //var userId = db.Users.Where(u => u.Email == data.email).Select(x => x.Id).FirstOrDefault();
            //var userId2 = db.Users.FirstOrDefault(x => x.Email == data.email).Id;
            if (!db.Users.Any(x => data.email == x.Email) || !db.Users.Any(x => hashedPassword == x.Password || data.password == x.Password))
            {
                return(NotFound());
            }

            var jwt = jwtService.Generate(user.Id);

            Response.Cookies.Append("jwt", jwt, cookieOptions);

            return(Ok(new
            {
                message = "success",
                Username = user.Username,
                Question = user.Q1
            }));
        }
        public async Task <IActionResult> Login([FromBody] LoginViewModel request)
        {
            var admin = await _repo.GetAdminByEmail(request.Email);

            if (admin == null)
            {
                return(BadRequest(new { message = "Invalid Credentials" }));
            }

            var passwordsMatch = BCrypt.Net.BCrypt.Verify(request.Password, admin.Password);

            if (!passwordsMatch)
            {
                return(BadRequest(new { message = "Invalid Credentials" }));
            }

            var jwt = _jwtService.Generate(admin.Id);

            Response.Cookies.Append("jwt", jwt, new CookieOptions
            {
                HttpOnly = true,
                SameSite = SameSiteMode.None,
                Secure   = true,
            });

            return(Ok(new
            {
                message = "Success"
            }));
        }
Пример #6
0
        public IActionResult TrainerLogin(DTOTrainers data)
        {
            string hashedPassword = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                               password: data.trainerPassword,
                                                               salt: salt,
                                                               prf: KeyDerivationPrf.HMACSHA256,
                                                               iterationCount: 100000,
                                                               numBytesRequested: 256 / 8));

            var trainer = db.Trainers.FirstOrDefault(x => x.TEmail == data.trainerEmail);

            if (!db.Trainers.Any(x => data.trainerEmail == x.TEmail) || !db.Trainers.Any(x => hashedPassword == x.TPassword || data.trainerPassword == x.TPassword))
            {
                return(NotFound());
            }

            var jwt = jwtService.Generate(trainer.Id);

            Response.Cookies.Append("jwt", jwt, cookieOptions);

            return(Ok(new
            {
                message = "success",
                Username = trainer.TUsername
            }));
        }
Пример #7
0
 public string GenerateToken()
 {
     return(_JwtService.Generate(
                _DateTimeProvider.Now().AddSeconds(30).ToUnixTime(),
                new Dictionary <string, object>
     {
         [PayloadElement] = Guid.NewGuid().ToString()     // make polltoken unique
     }));
 }
Пример #8
0
        public async Task <IActionResult> Login([FromBody] User user)
        {
            var result = await _userService.Login(user);

            var jwt = _jwtService.Generate(result.Id);

            Response.Cookies.Append("jwt", jwt, new CookieOptions {
                HttpOnly = true
            });
            return(Ok(new { message = "success" }));
        }
        public IActionResult Execute(HttpContext httpContext)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException(nameof(httpContext));
            }

            var jwtToken = _JwtService.Generate(httpContext.User);

            // temporary claim payload redirect solution for demo purposes
            return(new RedirectResult(_Configuration.FrontendBaseUrl + "/auth?token=" + jwtToken));
        }
Пример #10
0
        public IActionResult AdminLogin(AdminDTO data)
        {
            var admin = db.Admin.FirstOrDefault(x => x.Email == data.Email);

            if (!db.Admin.Any(x => data.Email == x.Email) || !db.Admin.Any(x => data.Password == x.Password))
            {
                return(NotFound());
            }

            var jwt = jwtService.Generate(admin.Id);

            Response.Cookies.Append("jwt", jwt, cookieOptions);

            return(Ok(new
            {
                message = "success",
                Username = admin.Username
            }));
        }
        public IActionResult Login(LoginDto dto)
        {
            var user = _context.Persons.FirstOrDefault(p => p.username == dto.username);


            if (user == null || user.password != dto.password)
            {
                return(BadRequest(new { message = "Invalid Credentials" }));
            }

            var jwt = _jwtService.Generate(user.id);


            Response.Cookies.Append("jwt", jwt, new CookieOptions
            {
                HttpOnly = true
            });

            return(Ok(new {
                message = "Cookie Generated Successfully"
            }));
        }