Class ConfigurableAuthRequirementPolicy
Defined in File auth_requirement_policy.hpp
Inheritance Relationships
Base Type
public ros2_medkit_gateway::IAuthRequirementPolicy(Class IAuthRequirementPolicy)
Class Documentation
-
class ConfigurableAuthRequirementPolicy : public ros2_medkit_gateway::IAuthRequirementPolicy
Policy with configurable public paths.
Allows specifying a list of paths that don’t require authentication. Supports wildcards (* for single segment, ** for multiple segments).
Public Functions
-
explicit ConfigurableAuthRequirementPolicy(const std::vector<std::string> &public_paths, bool require_for_reads = false)
Construct with list of public paths.
- Parameters:
public_paths – Paths that don’t require authentication (supports wildcards)
require_for_reads – If true, require auth even for GET requests
-
explicit ConfigurableAuthRequirementPolicy(const std::unordered_map<std::string, AuthRequirement> &auth_requirements)
Construct from auth requirements map.
- Parameters:
auth_requirements – Map of path patterns to auth requirement levels
-
virtual bool requires_authentication(const std::string &method, const std::string &path) const override
Check if authentication is required for a request.
- Parameters:
method – HTTP method (GET, POST, PUT, DELETE, etc.)
path – Request path
- Returns:
true if authentication is required
-
inline virtual std::string description() const override
Get a human-readable description of this policy.
- Returns:
Description string
-
void add_public_path(const std::string &path)
Add a public path.
- Parameters:
path – Path pattern (supports * and ** wildcards)
-
explicit ConfigurableAuthRequirementPolicy(const std::vector<std::string> &public_paths, bool require_for_reads = false)