mirror of
https://github.com/arun11299/cpp-jwt.git
synced 2025-05-15 01:08:31 +00:00
jwt_object design
This commit is contained in:
parent
81e6b2392e
commit
cb925fee3a
6 changed files with 372 additions and 0 deletions
|
@ -197,6 +197,51 @@ jwt_signature::get_verify_algorithm_impl(const jwt_header& hdr) const noexcept
|
|||
}
|
||||
|
||||
|
||||
//
|
||||
template <typename... Args>
|
||||
jwt_object::jwt_object(Args&&... args)
|
||||
{
|
||||
static_assert (detail::meta::are_all_params<Args...>::value,
|
||||
"All constructor argument types must model ParameterConcept");
|
||||
|
||||
set_parameters(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename Map, typename... Rest>
|
||||
void jwt_object::set_parameters(
|
||||
params::detail::payload_param<Map>&& payload, Rest&&... rargs)
|
||||
{
|
||||
set_parameters(std::forward<Rest>(rargs)...);
|
||||
}
|
||||
|
||||
template <typename... Rest>
|
||||
void jwt_object::set_parameters(
|
||||
params::detail::secret_param secret, Rest&&... rargs)
|
||||
{
|
||||
set_parameters(std::forward<Rest>(rargs)...);
|
||||
}
|
||||
|
||||
template <typename Map, typename... Rest>
|
||||
void jwt_object::set_parameters(
|
||||
params::detail::headers_param<Map>&& header, Rest&&... rargs)
|
||||
{
|
||||
set_parameters(std::forward<Rest>(rargs)...);
|
||||
}
|
||||
|
||||
void jwt_object::set_parameters()
|
||||
{
|
||||
//setinel call
|
||||
return;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
jwt_payload& jwt_object::add_payload(const std::string& name, T&& value)
|
||||
{
|
||||
payload_.add_claim(name, std::forward<T>(value));
|
||||
return payload_;
|
||||
}
|
||||
|
||||
|
||||
//====================================================================
|
||||
|
||||
void jwt_decode(const string_view encoded_str, const string_view key, bool validate)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue