private void AccessStateReadDisk() { var bSuccess = DiskManager.DeserializeAuthInfoFromDisk(ref authInfo); if (!bSuccess) { m_eAccessState = AccessState.GET_AUTH; return; } if (bSuccess && string.Equals(authInfo.refresh_token, "")) { m_eAccessState = AccessState.GET_AUTH; return; } if (bSuccess && DateTimeOffset.Now.ToUnixTimeSeconds() < authInfo.expiry_time) { accessCodeIsValid = true; m_eAccessState = AccessState.WAIT_SLEEP; } if (bSuccess && DateTimeOffset.Now.ToUnixTimeSeconds() >= authInfo.expiry_time) { m_eAccessState = AccessState.RENEW_ACCESS; } }
private static void RenewAccessToken() { Console.WriteLine("AccessManager: Renewing Access Token"); var client = new RestClient("https://login.eveonline.com"); var request = new RestRequest("/oauth/token", Method.POST); var body = new { grant_type = "refresh_token", refresh_token = authInfo.refresh_token }; var encodeBytes = System.Text.Encoding.UTF8.GetBytes(Constants.ClientID + ":" + Constants.SecretKey); string header = "Basic " + System.Convert.ToBase64String(encodeBytes); string json_body = JsonConvert.SerializeObject(body); request.AddHeader("Authorization", header); request.AddParameter("application/json", json_body, ParameterType.RequestBody); request.AddParameter("Content-Type", "application/json"); var response = client.Post(request); var content = response.Content; authInfo = JsonConvert.DeserializeObject <AuthInfo>(content); m_eAccessState = AccessState.WAIT_SLEEP; accessCodeIsValid = true; authInfo.expiry_time = authInfo.expires_in + DateTimeOffset.Now.ToUnixTimeSeconds(); DiskManager.SerializeAuthInfoToDisk(authInfo); }
private void ExportStateGetTypeInfo() { m_dicItemDictionary = DiskManager.DeserializeTypesFromDisk(); bool saveToDisk = false; foreach (var item in m_vExportItems) { // If we don't have the item information saved to disk, fetch it. if (!m_dicItemDictionary.ContainsKey(item.type_id)) { var itemInfo = RequestManager.GetTypeInfo(AccessManager.authInfo, item.type_id); m_dicItemDictionary.Add(item.type_id, itemInfo); saveToDisk = true; } } if (saveToDisk) { DiskManager.SerializeTypesToDisk(m_dicItemDictionary); } m_eExportState = ExportState.PRINT_RESULTS; }