userver: userver/server/handlers/auth/auth_checker_factory.hpp Source File
Loading...
Searching...
No Matches
auth_checker_factory.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/server/handlers/auth/auth_checker_factory.hpp
4/// @brief Authorization factory registration and base classes.
5
6#include <userver/components/component_context.hpp>
7#include <userver/server/handlers/auth/auth_checker_base.hpp>
8#include <userver/server/handlers/auth/auth_checker_settings.hpp>
9#include <userver/server/handlers/handler_config.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace server::handlers::auth {
14
15/// Base class for all the authorization factory checkers
17 public:
18 virtual ~AuthCheckerFactoryBase() = default;
19
20 virtual AuthCheckerBasePtr operator()(const components::ComponentContext&,
21 const HandlerAuthConfig&,
22 const AuthCheckerSettings&) const = 0;
23};
24
25/// Function to call from main() to register an authorization checker
27 std::string auth_type, std::unique_ptr<AuthCheckerFactoryBase>&& factory);
28
29/// Function that returns an authorization checker factory
31 const std::string& auth_type);
32
33} // namespace server::handlers::auth
34
35USERVER_NAMESPACE_END