protected override async Task ExecuteAsync(CancellationToken stoppingToken) { myDevice = _deviceConfiguration.GetDeviceConfiguration(); if (myDevice.tokenValidation.token == "" || myDevice.tokenValidation.expiration < DateTime.UtcNow) { try { await Login(); //if id == null (unregistered device) if (myDevice.Id == "") { await RegisterDevice(); } _deviceConfiguration.SaveDeviceConfiguration(myDevice); } catch (Exception e) { _logger.LogInformation($"{e.ToString()}"); } } while (!stoppingToken.IsCancellationRequested) { if (TokenExpired()) { await Login(); } await PostState(); await Task.Delay(TimeSpan.FromSeconds(15), stoppingToken); } }
private void AttachToken() { token = _deviceConfiguration.GetDeviceConfiguration().tokenValidation.token; httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); }