userver: userver/server/handlers/auth/auth_checker_factory.hpp Source File
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
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