public Task <IEnumerable <UserDevice> > GetItemsAsync(bool forceRefresh = false)
        {
            try
            {
                Models.AuthResponse token = JsonConvert.DeserializeObject <Models.AuthResponse>(Preferences.Get("Token", ""));

                using (HttpClient client = new HttpClient())
                {
                    string url = Constants.baseUrl + "api/Device";
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Add("Authorization", token.Token);
                    client.DefaultRequestHeaders.Add("AcceptEncoding", "application/json");

                    var response     = client.GetAsync(url).Result;
                    var responseBody = response.Content.ReadAsStringAsync().Result;
                    if (response.IsSuccessStatusCode)
                    {
                        devices = JsonConvert.DeserializeObject <List <UserDevice> >(responseBody);
                        return(Task.FromResult(devices));
                    }
                }
            }
            catch (Exception ex)
            {
                //logs
            }
            return(null);
        }
        public async Task <bool> AddItemAsync(UserDevice item)
        {
            try
            {
                Models.AuthResponse token = JsonConvert.DeserializeObject <Models.AuthResponse>(Preferences.Get("Token", ""));

                using (HttpClient client = new HttpClient())
                {
                    string url = Constants.baseUrl + "api/Device";
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Add("Authorization", token.Token);
                    client.DefaultRequestHeaders.Add("AcceptEncoding", "application/json");

                    var response = await client.PostAsync(url, new StringContent(JsonConvert.SerializeObject(item), Encoding.UTF8, "application/json"));

                    var responseBody = await response.Content.ReadAsStringAsync();

                    if (response.IsSuccessStatusCode)
                    {
                        return(true);
                    }
                }
            }
            catch
            {
                //Logs
            }
            return(false);
        }
        public DeviceStatus CheckStatus(string deviceSerial)
        {
            try
            {
                Models.AuthResponse token = JsonConvert.DeserializeObject <Models.AuthResponse>(Preferences.Get("Token", ""));

                using (HttpClient client = new HttpClient())
                {
                    string url = Constants.baseUrl + "api/Device/CheckStatus/" + deviceSerial;
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Add("Authorization", token.Token);
                    client.DefaultRequestHeaders.Add("AcceptEncoding", "application/json");

                    var response     = client.GetAsync(url).Result;
                    var responseBody = response.Content.ReadAsStringAsync().Result;
                    if (response.IsSuccessStatusCode)
                    {
                        return(JsonConvert.DeserializeObject <DeviceStatus>(responseBody));
                    }
                }
            }
            catch (Exception ex)
            {
                //logs
            }
            return(null);
        }
        public void AuthenticateUser()
        {
            TestUser dbUser = Helpers.GetUser(TestContext);

            if (dbUser.Activate)
            {
                Assert.IsTrue(RegexUtilities.IsValidEmail(dbUser.Login), string.Format("Okta user login {0} is not valid", dbUser.Login));
                Assert.IsTrue(RegexUtilities.IsValidEmail(dbUser.Email), string.Format("Okta user email {0} is not valid", dbUser.Email));

                string strEx                     = string.Empty;
                string strUserLogin              = dbUser.Login;
                string strNewUserLogin           = string.Empty;
                Models.AuthResponse authResponse = null;

                try
                {
                    var authClient = oktaClient.GetAuthClient();
                    authResponse = authClient.Authenticate(dbUser.Login, dbUser.Password);
                }
                catch (OktaException e)
                {
                    strEx = string.Format("Error Code: {0} - Summary: {1} - Message: {2}", e.ErrorCode, e.ErrorSummary, e.Message);
                }

                Assert.IsNotNull(authResponse, "Authentication for Okta User {0} failed: {1}", dbUser.Login, strEx);
                Assert.IsTrue(authResponse.Status == "SUCCESS", "Authentication for Okta User {0} failed. Auth Status is {1}", dbUser.Login, authResponse.Status);
            }
        }
Beispiel #5
0
        public async Task <ActionResult <Models.AuthResponse> > Login([FromBody] Models.Login loginInfo)
        {
            Models.AuthResponse feedback = await user_service.LoginUserAsync(loginInfo);

            if (!feedback.Success)
            {
                if (feedback.Error.Code == (int)Models.ServerResponse.ErrorCodes.USER_CREDENTIALS_INCORRECT)
                {
                    return(Unauthorized(feedback));
                }
                return(BadRequest(feedback));
            }
            return(Ok(feedback));
        }
        public bool SwitchOnOff(DeviceAction deviceAction)
        {
            Models.AuthResponse token = JsonConvert.DeserializeObject <Models.AuthResponse>(Preferences.Get("Token", ""));

            using (HttpClient client = new HttpClient())
            {
                string url = Constants.baseUrl + "api/Device/Control";
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Add("Authorization", token.Token);
                client.DefaultRequestHeaders.Add("AcceptEncoding", "application/json");

                var response     = client.PostAsync(url, new StringContent(JsonConvert.SerializeObject(deviceAction), Encoding.UTF8, "application/json")).Result;
                var responseBody = response.Content.ReadAsStringAsync().Result;
                if (response.IsSuccessStatusCode)
                {
                    return(true);
                }
            }

            return(false);
        }
        public void AuthenticateUser()
        {
            TestUser dbUser = Helpers.GetUser(TestContext);

            Assert.IsTrue(RegexUtilities.IsValidEmail(dbUser.Login), string.Format("Okta user login {0} is not valid", dbUser.Login));
            Assert.IsTrue(RegexUtilities.IsValidEmail(dbUser.Email), string.Format("Okta user email {0} is not valid", dbUser.Email));

            string strEx = string.Empty;
            //Models.User existingUser = null;
            string strUserLogin    = dbUser.Login;
            string strNewUserLogin = string.Empty;

            Models.AuthResponse authResponse = null;

            try
            {
                //var usersClient = oktaClient.GetUsersClient();

                var authClient = oktaClient.GetAuthClient();

                authResponse = authClient.Authenticate(dbUser.Login, dbUser.Password);
                //existingUser = usersClient.GetByUsername(strUserLogin);

                //if (existingUser != null)
                //{
                //    existingUser = usersClient.SetPassword(existingUser, dbUser.Password);
                //}
            }
            catch (OktaException e)
            {
                strEx = string.Format("Error Code: {0} - Summary: {1} - Message: {2}", e.ErrorCode, e.ErrorSummary, e.Message);
            }

            Assert.IsNotNull(authResponse, "Authentication for Okta User {0} failed: {1}", dbUser.Login, strEx);
            Assert.IsTrue(authResponse.Status == "SUCCESS", "Authentication for Okta User {0} failed. Auth Status is {1}", dbUser.Login, authResponse.Status);
            //if (existingUser.Status != Models.UserStatus.Staged)
            //{
            //    Assert.IsTrue(existingUser.Status == Models.UserStatus.Active, "Okta User {0} status is {1}", dbUser.Login, existingUser.Status);
            //}
        }