Ejemplo n.º 1
0
        public IActionResult Login([FromBody] APIUsers.Library.Models.UserMin user)
        {
            if (user == null)
            {
                return(BadRequest("Invalid client request"));
            }

            var ConnectionStringLocal = _configuration.GetValue <string>("ServidorAzure");

            using (APIUsers.Library.Interfaces.ILogin Login = APIUsers.Library.Interfaces.Factorizador.CrearConexionServicioLogin(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)){
                APIUsers.Library.Models.User objusr = Login.EstablecerLogin(user.Nick, user.Password);

                if (objusr == null)
                {
                    return(Unauthorized());
                }


                var secretKey         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration.GetValue <string>("SecretKey")));
                var signinCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256);


                var claims = new List <Claim> {
                    new Claim(ClaimTypes.Name, objusr.Nick),
                    new Claim(ClaimTypes.Role, objusr.Role),
                    new Claim("Id", objusr.ID.ToString()),
                    new Claim("imagen", objusr.Imagen)
                };

                var tokeOptions = new JwtSecurityToken(
                    issuer: "https://api03mtw102.azurewebsites.net",
                    audience: "https://api03mtw102.azurewebsites.net",
                    claims: claims,
                    expires: DateTime.Now.AddMinutes(120),
                    signingCredentials: signinCredentials
                    );


                var tokenString   = new JwtSecurityTokenHandler().WriteToken(tokeOptions);
                var refreshString = GenerateRefreshToken();

                objusr.RefreshToken           = refreshString;
                objusr.RefreshTokenExpiryTime = DateTime.Now.AddDays(7);

                using (APIUsers.Library.Interfaces.IUser User = APIUsers.Library.Interfaces.Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal))
                {
                    User.UpdateUserRefreshToken(objusr);
                }



                return(Ok(new {
                    Token = tokenString,
                    RefreshToken = refreshString
                }));
            }
        }
Ejemplo n.º 2
0
 public Boolean UpdateUser([FromBody] APIUsers.Library.Models.UserMin value)
 {
     Boolean status;
     var ConnectionStringLocal = _configuration.GetValue<string>("ServidorAzure");
     using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal))
     {
         status = User.UpdateUser(value);
     }
     return status;
 }
Ejemplo n.º 3
0
        public int InsertUser([FromBody] APIUsers.Library.Models.UserMin value)
        {
            int id = 0;
            var ConnectionStringLocal = _configuration.GetValue <string>("ServidorLocal");

            using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal))
            {
                id = User.InsertUser(value.Nick, Functions.GetSHA256(value.Password));
            }
            return(id);
        }
Ejemplo n.º 4
0
 public IActionResult InsertUser([FromBody] APIUsers.Library.Models.UserMin value)
 {
     int id = 0;
     var ConnectionStringLocal = _configuration.GetValue<string>("ServidorAzure");
     using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal))
     {
         id = User.InsertUser(value);
     }
     if (id != 0) {
         return Ok(id);
     }
     else{
         return BadRequest();
     }
 }