Class ConfigurableAuthRequirementPolicy

Inheritance Relationships

Base Type

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)