summaryrefslogtreecommitdiffstats
path: root/library/cpp/monlib/service/auth/tvm/auth.cpp
diff options
context:
space:
mode:
authormonster <[email protected]>2022-07-07 14:41:37 +0300
committermonster <[email protected]>2022-07-07 14:41:37 +0300
commit06e5c21a835c0e923506c4ff27929f34e00761c2 (patch)
tree75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /library/cpp/monlib/service/auth/tvm/auth.cpp
parent03f024c4412e3aa613bb543cf1660176320ba8f4 (diff)
fix ya.make
Diffstat (limited to 'library/cpp/monlib/service/auth/tvm/auth.cpp')
-rw-r--r--library/cpp/monlib/service/auth/tvm/auth.cpp93
1 files changed, 0 insertions, 93 deletions
diff --git a/library/cpp/monlib/service/auth/tvm/auth.cpp b/library/cpp/monlib/service/auth/tvm/auth.cpp
deleted file mode 100644
index e071c11ebc8..00000000000
--- a/library/cpp/monlib/service/auth/tvm/auth.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-#include "auth.h"
-
-#include <util/generic/hash_set.h>
-
-
-using namespace NTvmAuth;
-
-
-namespace NMonitoring {
-namespace {
- template <class TTvmClientPtr = THolder<TTvmClient>>
- class TTvmManager final: public ITvmManager {
- public:
- TTvmManager(NTvmApi::TClientSettings settings, TVector<TTvmId> clients, TLoggerPtr logger)
- : AllowedClients_{clients.begin(), clients.end()}
- , Tvm_(new TTvmClient{std::move(settings), std::move(logger)})
- {
- }
-
- TTvmManager(NTvmTool::TClientSettings settings, TVector<TTvmId> clients, TLoggerPtr logger)
- : AllowedClients_{clients.begin(), clients.end()}
- , Tvm_(new TTvmClient{std::move(settings), std::move(logger)})
- {
- }
-
- TTvmManager(TTvmClientPtr tvm, TVector<TTvmId> clients)
- : AllowedClients_{clients.begin(), clients.end()}
- , Tvm_(std::move(tvm))
- {
- }
-
- bool IsAllowedClient(TTvmId clientId) override {
- return AllowedClients_.contains(clientId);
- }
-
- TCheckedServiceTicket CheckServiceTicket(TStringBuf ticket) override {
- return Tvm_->CheckServiceTicket(ticket);
- }
-
- private:
- THashSet<TTvmId> AllowedClients_;
- TTvmClientPtr Tvm_;
- };
-
- class TTvmAuthProvider final: public IAuthProvider {
- public:
- TTvmAuthProvider(THolder<ITvmManager> manager)
- : TvmManager_{std::move(manager)}
- {
- }
-
- TAuthResult Check(const IHttpRequest& req) override {
- auto ticketHeader = req.GetHeaders().FindHeader("X-Ya-Service-Ticket");
- if (!ticketHeader) {
- return TAuthResult::NoCredentials();
- }
-
- const auto ticket = TvmManager_->CheckServiceTicket(ticketHeader->Value());
- if (!ticket) {
- return TAuthResult::Denied();
- }
-
- return TvmManager_->IsAllowedClient(ticket.GetSrc())
- ? TAuthResult::Ok()
- : TAuthResult::Denied();
- }
-
- private:
- THolder<ITvmManager> TvmManager_;
- };
-} // namespace
-
-THolder<ITvmManager> CreateDefaultTvmManager(NTvmApi::TClientSettings settings, TVector<TTvmId> allowedClients, TLoggerPtr logger) {
- return MakeHolder<TTvmManager<>>(std::move(settings), std::move(allowedClients), std::move(logger));
-}
-
-THolder<ITvmManager> CreateDefaultTvmManager(NTvmTool::TClientSettings settings, TVector<TTvmId> allowedClients, TLoggerPtr logger) {
- return MakeHolder<TTvmManager<>>(std::move(settings), std::move(allowedClients), std::move(logger));
-}
-
-THolder<ITvmManager> CreateDefaultTvmManager(TAtomicSharedPtr<NTvmAuth::TTvmClient> client, TVector<TTvmId> allowedClients) {
- return MakeHolder<TTvmManager<TAtomicSharedPtr<NTvmAuth::TTvmClient>>>(std::move(client), std::move(allowedClients));
-}
-
-THolder<ITvmManager> CreateDefaultTvmManager(std::shared_ptr<NTvmAuth::TTvmClient> client, TVector<TTvmId> allowedClients) {
- return MakeHolder<TTvmManager<std::shared_ptr<NTvmAuth::TTvmClient>>>(std::move(client), std::move(allowedClients));
-}
-
-THolder<IAuthProvider> CreateTvmAuth(THolder<ITvmManager> manager) {
- return MakeHolder<TTvmAuthProvider>(std::move(manager));
-}
-
-} // namespace NMonitoring