baseUrl = env('THINGSBOARD_URL', 'http://65.0.131.117:8080'); $this->username = env('THINGSBOARD_USERNAME', 'tenant1@thingsboard.org'); $this->password = env('THINGSBOARD_PASSWORD', 'tenant1'); } public function getToken() { if (Cache::has('thingsboard_token')) { return Cache::get('thingsboard_token'); } $response = Http::withHeaders([ // 'accept' => 'application/json', 'Content-Type' => 'application/json', ]) ->post("{$this->baseUrl}api/auth/login", [ 'username' => $this->username, 'password' => $this->password, ]); if ($response->successful()) { $token = $response->json('token'); Cache::put('thingsboard_token', $token, now()->addMinutes(15)); return $token; } else { Log::error("ThingsBoard Authentication Failed: " . $response->body()); throw new Exception('Unable to authenticate with ThingsBoard: ' . $response->body()); } } }