public LoginResponse GetUserClaims(string userName, string password, string scope)
        {
            LoginResponse lr = new LoginResponse();

            IdentityRvContext dataContext = new IdentityRvContext();
            var user = dataContext.RvNetUsers.FirstOrDefault(f => f.UserName == userName);
            var salt = user.SaltValue;

            var hashedPassword     = user.HashedPassword;
            var loginResultSuccess = this.Login(salt, hashedPassword, password);

            if (loginResultSuccess)
            {
                lr.IsAuthenticated         = true;
                lr.Message                 = "Ingreso correcto";
                lr.UserClaims              = new Claims();
                lr.UserClaims.UserName     = user.UserName;
                lr.UserClaims.CreationDate = user.CreationDate;
                lr.UserClaims.isActive     = user.IsActive;
                lr.UserClaims.scopes       = user.Scopes;
            }
            else
            {
                lr.IsAuthenticated = false;
                lr.Message         = "La contraseña introducida para este usuario es incorrecta";
            }
            return(lr);
        }
        public object GetAllUserData()
        {
            IdentityRvContext dataContext = new IdentityRvContext();
            var list = dataContext.RvNetUsers.ToList();

            return(list);
        }
        public bool CreateUser(string UserName, string Password, string scope = "")
        {
            IdentityRvContext dataContext = new IdentityRvContext();
            var newCredentials            = new RvNetUsers();

            newCredentials.UserName       = UserName;
            newCredentials.SaltValue      = Guid.NewGuid().ToString();
            newCredentials.Id             = Guid.NewGuid();
            newCredentials.HashedPassword = new IdentitySC().Encrypt(Password, newCredentials.SaltValue);
            newCredentials.CreationDate   = DateTime.Now;
            newCredentials.IsActive       = true;

            dataContext.RvNetUsers.Add(newCredentials);
            dataContext.SaveChanges();

            return(true);
        }
        public LoginResponse Login(string UserName, string Password, string scope = "")
        {
            IdentityRvContext dataContext   = new IdentityRvContext();
            LoginResponse     loginResponse = new LoginResponse();
            var userInDB = dataContext.RvNetUsers.FirstOrDefault(f => f.UserName == UserName);

            if (userInDB == null)
            {
                loginResponse.IsAuthenticated = false;
                loginResponse.Message         = "No se ha encontrado el usuario solicitado";
                Response.StatusCode           = (int)HttpStatusCode.Unauthorized;
                return(loginResponse);
            }

            loginResponse = new IdentitySC().GetUserClaims(UserName, Password, scope);

            if (loginResponse.UserClaims == null)
            {
                Response.StatusCode = (int)HttpStatusCode.Unauthorized;
            }

            return(loginResponse);
        }