public async Task <IActionResult> Autenticar(CredencialesViewModel credenciales) { if (!ModelState.IsValid) { return(View("Login", credenciales)); } var cliente = await _service.AutenticarAsync(credenciales); if (cliente == null) { ModelState.AddModelError("", "Nombre de usuario o contraseña invalidos"); return(View("Login", credenciales)); } else { if (cliente.ExpiracionContrasena < DateTime.Now.Date) { return(RedirectToAction("CambiarContrasena", "Cliente", new { id = cliente.Id })); } var principal = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.Role, cliente.Permiso), new Claim(ClaimTypes.Email, cliente.NombreUsuario), new Claim("Id", cliente.Id.ToString()), }, CookieAuthenticationDefaults.AuthenticationScheme)); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal); return(RedirectToAction("Index", "Home")); } }
public static string localURLVer1 = ConfigurationManager.AppSettings["url"];//"http://*****:*****@" // 1-Register // 2-LogIn // "); // string choice; // choice = Console.ReadLine(); // int choiceValue; // int.TryParse(choice, out choiceValue); // switch(choiceValue) memberSuccess = LoginApp.doMemberLogin(); } while (!auth && ++count < MAX_LOGINS); while (memberSuccess == 0) { memberSuccess = LoginApp.doMemberLogin(); } if (memberSuccess == 1) { List <string> headers = new List <string>(); string usersessionid = LoginApp.usession; string cbrandsessionid = LoginApp.cbsession; headers.Add("Authorization:{userSession= " + usersessionid + ",cobSession=" + cbrandsessionid + "}"); cred.CoBrandauth = usersessionid; cred.Memberauth = cbrandsessionid; } //cred.auth= doLogin("sbCobd711dae4ac2ebf69822f2e9f34d71738ba", "ff17cb34-c563-4b33-8042-251683b3a06b", "sbMemd711dae4ac2ebf69822f2e9f34d71738ba3", "sbMemd711dae4ac2ebf69822f2e9f34d71738ba3#123"); return(View(cred)); }
public async Task <IActionResult> Autenticar(CredencialesViewModel credenciales) { if (!ModelState.IsValid) { return(View("Login", credenciales)); } var usuario = await servicio.Autenticar(credenciales); if (usuario == null) { ModelState.AddModelError("", "Nombre de usuario o contraseña invalidos"); return(View("Login", credenciales)); } else { return(RedirectToAction("Index", "Home")); } }
public async Task <IActionResult> Token([FromBody] CredencialesViewModel credenciales) { var user = await _service.LoginAsync(credenciales.Username, credenciales.Password); // Get the roles of the user var roles = await _service.GetRolesAsync(user); // Get the claims of the user var userRolesClaims = roles.Select(r => new Claim(ClaimTypes.Role, r)).ToArray(); var roleClaims = await _service.GetRolesClaimsAsync(roles); var userClaims = new Claim[] { new Claim("UserId", user.Id.ToString()), new Claim("Username", user.UserName) }; var claims = new Claim[] { } .Union(userClaims) .Union(userRolesClaims) .Union(roleClaims) .ToArray(); // Create the token var date = DateTime.Now; var expireDate = TimeSpan.FromDays(1); var token = await _service.CrearTokenAsync(user.UserName, claims, date, expireDate); // Create the response return(ResponseHelper.Ok(new { Token = token, Email = user.Email, Permissions = roleClaims.Select(x => x.Value), Role = userRolesClaims.SingleOrDefault().Value, ExpireAt = date.Add(expireDate) })); }
public async Task <ClienteViewModel> AutenticarAsync(CredencialesViewModel credenciales) { return(await PostAsync <CredencialesViewModel, ClienteViewModel>("cliente/autenticar", credenciales)); }
public IActionResult Login() { var credenciales = new CredencialesViewModel(); return(View(credenciales)); }
public async Task <UsuarioViewModel> Autenticar(CredencialesViewModel credenciales) { return(await PostAsync <CredencialesViewModel, UsuarioViewModel>("usuario/autenticar", credenciales)); }