Esempio n. 1
0
        public static async Task performAuth(DBUserLoginRequest user, statusResponseList <DBBasicAuthority> callback)
        {
            //throw new Exception("TEST EXCEPTION");

            if (callback == null)
            {
                throw new Exception("Callback must not be null");
            }

            var httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(ServerURLs.authURL);

            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Method      = "POST";
            httpWebRequest.ServicePoint.ConnectionLimit = 3;
            httpWebRequest.Timeout   = 30000;
            httpWebRequest.KeepAlive = false;

            var loginContext = new LoginContext(user);

            var jsonUser = JsonConvert.SerializeObject(loginContext);

            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                streamWriter.Write(jsonUser);
            }

            var response = await httpWebRequest.GetResponseAsync();

            string responseData = new StreamReader(response.GetResponseStream()).ReadToEnd();

            httpWebRequest.Abort();

            var exchangeInfo = JsonConvert.DeserializeObject <ExchengeInfo>(responseData);

            if (!exchangeInfo.success)
            {
                callback(false, "Login failed", "Incorrect username/password detected, please try again", null);
                return;
            }

            if (exchangeInfo.profiles == null || exchangeInfo.profiles.Length == 0)
            {
                callback(false, "Warning:", "You currently have no app setups available, go to your dashboard and create one!", null);
                return;
            }

            var localDataStore = DBLocalDataStore.GetInstance();

            localDataStore.AddUserInfo(user);
            localDataStore.ClearBasicAuthority();

            var profilesList = new List <DBBasicAuthority>();

            foreach (DBBasicAuthority profile in exchangeInfo.profiles)
            {
                profilesList.Add(profile);
                localDataStore.AddBasicAuthority(profile);
            }
            callback(true, null, "OK", profilesList);
        }
Esempio n. 2
0
        public static async Task getProfiles(DBUserLoginRequest user)
        {
            var httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(ServerURLs.profilesURL);

            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Method      = "POST";
            httpWebRequest.ServicePoint.ConnectionLimit = 3;
            httpWebRequest.Timeout   = 30000;
            httpWebRequest.KeepAlive = false;

            var loginContext = new LoginContext(user);

            var jsonUser = JsonConvert.SerializeObject(loginContext);

            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                streamWriter.Write(jsonUser);
            }
            var response = await httpWebRequest.GetResponseAsync();

            string responseData = new StreamReader(response.GetResponseStream()).ReadToEnd();

            httpWebRequest.Abort();

            var exchangeInfo   = JsonConvert.DeserializeObject <ExchengeInfo>(responseData);
            var localDataStore = DBLocalDataStore.GetInstance();

            var profilesList = new List <DBBasicAuthority>();

            localDataStore.ClearBasicAuthority();
            foreach (DBBasicAuthority profile in exchangeInfo.profiles)
            {
                profilesList.Add(profile);
                localDataStore.AddBasicAuthority(profile);
            }
        }
Esempio n. 3
0
 public LoginContext(DBUserLoginRequest user)
 {
     this.username = user.username;
     this.password = user.password;
     this.tags     = new string[] { user.tags };
 }