Mercurial > hg > orthanc-authorization
comparison Plugin/CachedAuthorizationService.h @ 72:e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
author | Alain Mazy <am@osimis.io> |
---|---|
date | Fri, 24 Feb 2023 18:13:36 +0100 |
parents | 30fb3ce960d9 |
children | 512247750f0a |
comparison
equal
deleted
inserted
replaced
71:30fb3ce960d9 | 72:e381ba725669 |
---|---|
36 std::unique_ptr<BaseAuthorizationService> decorated_; | 36 std::unique_ptr<BaseAuthorizationService> decorated_; |
37 std::unique_ptr<ICache> cache_; | 37 std::unique_ptr<ICache> cache_; |
38 | 38 |
39 std::string ComputeKey(OrthancPluginHttpMethod method, | 39 std::string ComputeKey(OrthancPluginHttpMethod method, |
40 const AccessedResource& access, | 40 const AccessedResource& access, |
41 const Token& token, | 41 const Token* token, |
42 const std::string& tokenValue) const; | 42 const std::string& tokenValue) const; |
43 | 43 |
44 std::string ComputeKey(const std::string& permission, | 44 std::string ComputeKey(const std::string& permission, |
45 const Token& token, | 45 const Token* token, |
46 const std::string& tokenValue) const; | 46 const std::string& tokenValue) const; |
47 | 47 |
48 virtual bool IsGrantedInternal(unsigned int& validity, | 48 virtual bool IsGrantedInternal(unsigned int& validity, |
49 OrthancPluginHttpMethod method, | 49 OrthancPluginHttpMethod method, |
50 const AccessedResource& access, | 50 const AccessedResource& access, |
64 | 64 |
65 public: | 65 public: |
66 CachedAuthorizationService(BaseAuthorizationService* decorated /* takes ownership */, | 66 CachedAuthorizationService(BaseAuthorizationService* decorated /* takes ownership */, |
67 ICacheFactory& factory); | 67 ICacheFactory& factory); |
68 | 68 |
69 virtual bool HasUserProfile() const | |
70 { | |
71 return decorated_->HasUserProfile(); | |
72 } | |
73 | |
74 virtual bool HasCreateToken() const | |
75 { | |
76 return decorated_->HasCreateToken(); | |
77 } | |
78 | |
79 virtual bool HasTokenValidation() const | |
80 { | |
81 return decorated_->HasTokenValidation(); | |
82 } | |
83 | |
84 bool CreateToken(IAuthorizationService::CreatedToken& response, | |
85 const std::string& tokenType, | |
86 const std::string& id, | |
87 const std::vector<IAuthorizationService::OrthancResource>& resources, | |
88 const std::string& expirationDateString) | |
89 { | |
90 return decorated_->CreateToken(response, | |
91 tokenType, | |
92 id, | |
93 resources, | |
94 expirationDateString); | |
95 } | |
96 | |
69 }; | 97 }; |
70 } | 98 } |