Exemplo n.º 1
0
        public void Authenticate(Action onComplete)
        {
            try
            {
                string url    = APICore.BaseUrl + "Auth?authToken=" + System.Uri.EscapeDataString(AccessToken);
                string result = Get(url);

                DataModels.AuthReturn r = JsonConvert.DeserializeObject <DataModels.AuthReturn>(result);

                UserName      = r.Name;
                UserId        = r.UserId;
                Authenticated = true;

                //SetOffLineToken("access.token", new OfflineAuthToken
                //{
                //    AuthReturn = r
                //});

                Online = true;
                onComplete();
            }
            catch (InvalidTokenException e)
            {
                Online = false;
                // OfflineAuthToken auth = GetOfflineToken<OfflineAuthToken>("access.token");

                //if (auth != null)
                //{
                //    UserName = auth.AuthReturn.Name;
                //    UserId = auth.AuthReturn.UserId;
                //    Authenticated = true;

                //    onComplete();
                //}
                //else
                //{
                Debug.WriteLine(e.Message);
                Authenticated = false;
                UserName      = "";
                UserId        = null;
                AccessToken   = "";
                //      }
            }
        }
Exemplo n.º 2
0
        public void Update()
        {
            if (!doingConnectionTest)
            {
                if (ConnectionRequest != null && ConnectionRequestId != null)
                {
                    if ((DateTime.Now - lastConnectionAttemptMade).TotalSeconds > 2)
                    {
                        doingConnectionTest = true;
                        string url = APICore.BaseUrl + $"Auth/AppLogIn?requestId={ConnectionRequestId}&connectionId={ConnectionRequest}&dummy={Guid.NewGuid().ToString().Replace("{", "").Replace("}", "").Replace("-", "")}";

                        Debug.WriteLine(url);

                        try
                        {
                            string result = Get(url);
                            //loginWindow.Close();

                            DataModels.AuthReturn ar = JsonConvert.DeserializeObject <DataModels.AuthReturn>(result);

                            AccessToken = ar.AuthKey;
                            Authenticate(() =>
                            {
                                Debug.WriteLine("all done!");
                                Online = true;
                                onSuccessCallBack?.Invoke();
                            });

                            Debug.WriteLine("woot!");
                            loginCheckTimer.Stop();
                            ConnectionRequest = null;
                        }
                        catch (Exception e)
                        {
                            Debug.WriteLine(e.Message);
                        }
                        lastConnectionAttemptMade = DateTime.Now;
                        doingConnectionTest       = false;
                    }
                }
            }
        }