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 = ""; // } } }
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; } } } }