17 const char * cookieMiddlewareID;
18 const char * jsonMiddlewareID;
19 Entity * currentUser =
nullptr;
21 std::vector<AuthStrategy *> allStrategies;
22 std::function<Entity *(std::string &, std::string &)> onLogin =
nullptr;
23 std::function<std::string(Entity *)> onSerialize =
nullptr;
24 std::function<Entity *(std::string &)> onDeserialize =
nullptr;
36 AuthMiddleware(
const char * nameID,
const char * cookieID,
const char * jsonID)
37 :
Middleware(nameID), cookieMiddlewareID(cookieID), jsonMiddlewareID(jsonID), allStrategies() {}
84 bool login(std::string & userName, std::string & password);
127 void setUser(
Entity * user);
void setOnDeserialize(std::function< Entity *(std::string &)> deserialize)
void setOnSerialize(std::function< std::string(Entity *)> serialize)
Interface for auth strategy template.
Definition: auth_strategy.h:13
bool login(std::string &userName, std::string &password)
Cloneable interface of object wth value and serializable method.
Definition: entity.h:10
class wrapper for middleware
Definition: middleware.h:14
void clear() override
Definition: auth_middleware.h:102
void addStrategy(AuthStrategy *strategy)
~AuthMiddleware() override
void setOnLogin(std::function< Entity *(std::string &, std::string &)> login)
This middleware performs authentication on your application.
Definition: auth_middleware.h:16
AuthMiddleware(const char *nameID, const char *cookieID, const char *jsonID)
Definition: auth_middleware.h:36