xrootd
Loading...
Searching...
No Matches
XrdMacaroonsAuthz.hh
Go to the documentation of this file.
1
5
6
7class XrdSysError;
8
9namespace Macaroons
10{
11
12class Authz final : public XrdAccAuthorize, public XrdSciTokensHelper
13{
14public:
15 Authz(XrdSysLogger *lp, const char *parms, XrdAccAuthorize *chain);
16
17 virtual ~Authz() {}
18
19 virtual XrdAccPrivs Access(const XrdSecEntity *Entity,
20 const char *path,
21 const Access_Operation oper,
22 XrdOucEnv *env) override;
23
24 // Do a minimal validation that this is a non-expired token; used
25 // for session tokens.
26 virtual bool Validate(const char *token,
27 std::string &emsg,
28 long long *expT,
29 XrdSecEntity *entP) override;
30
31 virtual int Audit(const int accok, const XrdSecEntity *Entity,
32 const char *path, const Access_Operation oper,
33 XrdOucEnv *Env) override
34 {
35 return 0;
36 }
37
38 virtual int Test(const XrdAccPrivs priv,
39 const Access_Operation oper) override
40 {
41 return 0;
42 }
43
44 // Macaroons don't have a concept off an "issuers"; return an empty
45 // list.
46 virtual Issuers IssuerList() override {return Issuers();}
47
48private:
50 const char *path,
51 const Access_Operation oper,
52 XrdOucEnv *env);
53
57 std::string m_secret;
58 std::string m_location;
60};
61
62}
Access_Operation
The following are supported operations.
Definition XrdAccAuthorize.hh:41
XrdAccPrivs
Definition XrdAccPrivs.hh:39
Definition XrdMacaroonsAuthz.hh:13
std::string m_location
Definition XrdMacaroonsAuthz.hh:58
virtual int Audit(const int accok, const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *Env) override
Definition XrdMacaroonsAuthz.hh:31
int m_authz_behavior
Definition XrdMacaroonsAuthz.hh:59
virtual int Test(const XrdAccPrivs priv, const Access_Operation oper) override
Definition XrdMacaroonsAuthz.hh:38
ssize_t m_max_duration
Definition XrdMacaroonsAuthz.hh:54
virtual ~Authz()
Definition XrdMacaroonsAuthz.hh:17
XrdSysError m_log
Definition XrdMacaroonsAuthz.hh:56
virtual bool Validate(const char *token, std::string &emsg, long long *expT, XrdSecEntity *entP) override
std::string m_secret
Definition XrdMacaroonsAuthz.hh:57
Authz(XrdSysLogger *lp, const char *parms, XrdAccAuthorize *chain)
virtual Issuers IssuerList() override
Definition XrdMacaroonsAuthz.hh:46
XrdAccAuthorize * m_chain
Definition XrdMacaroonsAuthz.hh:55
XrdAccPrivs OnMissing(const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)
virtual XrdAccPrivs Access(const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env) override
Definition XrdAccAuthorize.hh:68
Definition XrdOucEnv.hh:42
Definition XrdSciTokensHelper.hh:23
std::vector< ValidIssuer > Issuers
Definition XrdSciTokensHelper.hh:39
Definition XrdSecEntity.hh:65
Definition XrdSysError.hh:90
Definition XrdSysLogger.hh:53
Definition XrdMacaroonsAuthz.hh:10