public async Task <Usuarios> Authenticate([FromBody] dtoLogin login) { var user = _context.Usuarios.Where(u => u.Email == login.email && u.Password == login.pwd).FirstOrDefault(); //Una vez logeado, se añade el token if (user != null) { var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, login.email), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["JWTSettings:SecretKey"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(_config["JWTSettings:Issuer"], _config["JWTSettings:Audience"], claims, expires: DateTime.Now.AddDays(60), signingCredentials: creds); user.Token = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler().WriteToken(token); } return(user); }
public ActionResult Login(string asParametros) { try { dtoLogin lodto = JsonConvert.DeserializeObject <dtoLogin>(asParametros); ResultadoOperacion <bool> loResultado = Post <bool>( JsonConvert.SerializeObject( new EnvioParametros <dtoLogin>(lodto.Usuario, lodto.Password, lodto)) , Variables.RutaApi() + "api/Seguridad/ValidarUsuario"); if (loResultado.Error) { throw new Exception(loResultado.Mensaje); } if (loResultado.Datos) { Utilidades.Login.EstablecerSesion(lodto.Usuario, lodto.Password); } else { throw new Exception("Los datos ingresados son inválidos"); } return(RedirectToAction("Inicio", "Principal")); } catch (Exception aoExcepcion) { EstablecerMensajeError(aoExcepcion.Message); return(View(new LoginViewModel())); } }
// POST api/login /// <summary> /// Login al sistema. Funziona SOLO il metodo in POST. /// </summary> /// <param name="data">JSon Object</param> /// <returns></returns> /// <example> /// data: /// { "User":"******", "password":"******", "deviceid":"deviceCode", "TokenType":" None = 0|AdevicoWeb = 1|Mobile = 20" } /// /// User = login /// password = password /// deviceid = id dispositivo. Vuoto o null per "SingleSignOn". /// </example> public dtoLogin Post(dtoLoginData data) { dtoLogin loginInfo = new dtoLogin(); if (!String.IsNullOrEmpty(data.User) || !String.IsNullOrEmpty(data.Password)) { loginInfo = coreApiService.PersonLogin(data.User, data.Password, data.DeviceId, data.TokenType); } else { loginInfo.Error = AuthenticationError.ParameterInvalid; } //if (obj["User"] + "" != "" && obj["password"] + "" != "") //{ // string deviceInfo = (obj["deviceid"] != null) ? obj["deviceid"].ToString() : ""; // loginInfo = coreApiService.PersonLogin(obj["User"].ToString(), obj["password"].ToString(), deviceInfo); //} switch (loginInfo.Error) { case AuthenticationError.Internal: throw new HttpResponseException(HttpStatusCode.InternalServerError); break; case AuthenticationError.UserDisabled: throw new HttpResponseException(HttpStatusCode.Forbidden); break; case AuthenticationError.PasswordExpired: throw new HttpResponseException(HttpStatusCode.Forbidden); break; case AuthenticationError.CredentialInvalid: throw new HttpResponseException(HttpStatusCode.Forbidden); break; case AuthenticationError.TokenInvalid: throw new HttpResponseException(HttpStatusCode.Forbidden); break; case AuthenticationError.UserNotFound: throw new HttpResponseException(HttpStatusCode.Forbidden); break; } //if(loginInfo.Error != AuthenticationError.None || loginInfo.Error != AuthenticationError.PolicyPending) // throw new Exception(loginInfo.Error.ToString()); return(loginInfo); //if (ManagerLogin.hasValidAccess(obj["User"].ToString(), obj["password"].ToString())) //{ // Guid g = Guid.NewGuid(); // return g; //} //throw new HttpResponseException(HttpStatusCode.Forbidden); }
public async Task <IActionResult> Login([FromBody] dtoLogin login) { var user = await _repo.Login(login.username, login.password); if (user == null) { return(Unauthorized()); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Name, user.UserName) }; // var symmetricKey = new SymmetricSecurityKey(System.Text.Encoding.UTF8. // GetBytes(_config.GetSection("AppSettings:Token").Value)); var symmetricKey = new SymmetricSecurityKey(System.Text.Encoding.UTF8. GetBytes("Super Secret Key ")); var creds = new SigningCredentials(symmetricKey, SecurityAlgorithms.HmacSha512Signature); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddDays(1), SigningCredentials = creds }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); return(Ok(new { token = tokenHandler.WriteToken(token) })); }
public bool Login(dtoLogin login) { var isLoggedIn = securityService.Login(login.Username, login.Password); return(isLoggedIn); }
public bool ValidarUsuario(dtoLogin aoDto) { return(true); }
public LoginViewModel() { ObjetoLogin = new dtoLogin(); }