8#include <nlohmann/json.hpp>
25 std::make_pair(
"", nlohmann::json());
34 const std::shared_ptr<ccf::RpcContext>& ctx,
35 std::string& error_reason) = 0;
38 std::shared_ptr<ccf::RpcContext> ctx, std::string&& error_reason)
Definition authentication_types.h:28
virtual void set_unauthenticated_error(std::shared_ptr< ccf::RpcContext > ctx, std::string &&error_reason)
Definition authentication_types.h:37
virtual std::optional< OpenAPISecuritySchema > get_openapi_security_schema() const =0
virtual ~AuthnPolicy()=default
virtual std::unique_ptr< AuthnIdentity > authenticate(ccf::kv::ReadOnlyTx &tx, const std::shared_ptr< ccf::RpcContext > &ctx, std::string &error_reason)=0
virtual std::string get_security_scheme_name()=0
Definition app_interface.h:14
std::pair< std::string, nlohmann::json > OpenAPISecuritySchema
Definition authentication_types.h:23
std::vector< std::shared_ptr< AuthnPolicy > > AuthnPolicies
Definition authentication_types.h:47
Definition authentication_types.h:19
virtual ~AuthnIdentity()=default