#include <WiFi.h>
#include <time.h>
#include <ArduinoJson.h>
#include "jwt.h"
// ============== DADOS DO PROJETO FIREBASE / GOOGLE CLOUD ==============
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
// Defining the WiFi channel speeds up the connection:
#define WIFI_CHANNEL 6
// Extraídos do arquivo JSON do Firebase
const char* project_id = "seu-projeto-id";
const char* private_key_str = R"KEY(
-----BEGIN PRIVATE KEY-----
SUA_CHAVE_PRIVADA
-----END PRIVATE KEY-----
)KEY";
const char* client_email = "[email protected]";
// =======================================================================
jwt jwtc;
void setupWiFi() {
Serial.print("Conectando ao WiFi ");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" conectado!");
}
void setupTime() {
configTime(0, 0, "pool.ntp.org", "time.nist.gov");
Serial.print("Sincronizando horário");
time_t now = time(nullptr);
while (now < 100000) {
delay(500);
Serial.print(".");
now = time(nullptr);
}
Serial.println(" OK!");
}
void setup() {
Serial.begin(115200);
delay(1000);
setupWiFi();
setupTime();
// Geração do JWT com validade de 1h (3600s)
String token = jwtc.createJWT(project_id, private_key_str, 3600);
Serial.println("\n===== JWT GERADO =====\n");
Serial.println(token);
}
void loop() {
// Não necessário nesse exemplo
}