#ifndef ArduinoJsonJWT_H #define ArduinoJsonJWT_H #include #include #include #include #ifdef ESP32 #include #elif defined(ESP8266) #include #endif class ArduinoJsonJWT { private: String _secret; const String JWT_HEADER = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"; const int JWT_HEADER_SIZE = JWT_HEADER.length(); String sign(String& value); static String encode(const char* cstr, int len); static String decode(String value); public: ArduinoJsonJWT(String secret); void setSecret(String secret); String getSecret(); String buildJWT(JsonObject& payload); void parseJWT(String jwt, JsonDocument& jsonDocument); }; #endif