userver: userver/ydb/credentials.hpp Source File
Loading...
Searching...
No Matches
credentials.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/ydb/credentials.hpp
4/// @brief @copybrief ydb::CredentialsProviderComponent
5
6#include <memory>
7#include <string>
8
9#include <userver/components/component_base.hpp>
10#include <userver/yaml_config/fwd.hpp>
11
12#include <ydb-cpp-sdk/client/types/fwd.h>
13
14USERVER_NAMESPACE_BEGIN
15
16namespace ydb {
17
18/// @ingroup userver_components
19///
20/// @brief Credentials provider component for creating custom credentials provider factory
21///
22/// Allows use custom credentials provider implementation
23/// Required if `ydb::YdbComponent` comnponent config contains `databases.<dbname>.credentials`
24///
25/// see https://ydb.tech/docs/en/concepts/auth
27public:
28 using components::ComponentBase::ComponentBase;
29
30 /// @brief Create credentials provider factory
31 ///
32 /// @param credentials credentials config (`databases.<dbname>.credentials`
33 /// from `ydb::YdbComponent` component config)
34 virtual std::shared_ptr<NYdb::ICredentialsProviderFactory> CreateCredentialsProviderFactory(
35 const yaml_config::YamlConfig& credentials
36 ) const = 0;
37};
38
39} // namespace ydb
40
41USERVER_NAMESPACE_END