43 m_max_duration(86400),
48 if (!
Config(config, myEnv, m_log, m_location, m_secret, m_max_duration, behavior))
50 throw std::runtime_error(
"Macaroon handler config failed.");
62 virtual bool MatchesPath(
const char *verb,
const char *path)
override;
65 virtual int Init(
const char *cfgfile)
override {
return 0;}
70 std::string &location, std::string &secret, ssize_t &max_duration,
74 std::string GenerateID(
const std::string &,
const XrdSecEntity &,
const std::string &,
const std::vector<std::string> &,
const std::string &);
75 std::string GenerateActivities(
const XrdHttpExtReq &,
const std::string &)
const;
79 int GenerateMacaroonResponse(
XrdHttpExtReq& req,
const std::string &response,
const std::vector<std::string> &, ssize_t validity,
bool oauth_response);
86 ssize_t m_max_duration;
89 std::string m_location;
static bool Config(const char *config, XrdOucEnv *env, XrdSysError *log, std::string &location, std::string &secret, ssize_t &max_duration, AuthzBehavior &behavior)
Handler(XrdSysError *log, const char *config, XrdOucEnv *myEnv, XrdAccAuthorize *chain)
virtual int Init(const char *cfgfile) override
Initializes the external request handler.
virtual bool MatchesPath(const char *verb, const char *path) override
Tells if the incoming path is recognized as one of the paths that have to be processed.
virtual int ProcessReq(XrdHttpExtReq &req) override
std::string NormalizeSlashes(const std::string &)