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"));
            }
        }
Exemple #2
0
        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"));
            }
        }
Exemple #4
0
        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));
 }