Put verify under different function. Added new error codes for verification failures.

This commit is contained in:
Arun M 2017-12-16 16:39:52 +05:30
parent 912e4b5ff9
commit 7a511c46fe
7 changed files with 204 additions and 30 deletions

View file

@ -358,16 +358,18 @@ public: // Exposed APIs
/**
*/
template <typename T>
decltype(auto) get_claim_value(const string_view cname) const
{
return payload_[cname.data()];
return payload_[cname.data()].get<T>();
}
/**
*/
template <typename T>
decltype(auto) get_claim_value(enum registered_claims cname) const
{
return get_claim_value(reg_claims_to_str(cname));
return get_claim_value<T>(reg_claims_to_str(cname));
}
/**
@ -648,10 +650,31 @@ public: // Exposed APIs
return remove_claim(reg_claims_to_str(cname));
}
/**
*/
bool has_claim(const string_view cname) const noexcept
{
return payload().has_claim(cname);
}
/**
*/
bool has_claim(enum registered_claims cname) const noexcept
{
return payload().has_claim(cname);
}
/**
*/
std::string signature() const;
/**
*/
template <typename Params, typename SequenceT>
std::error_code verify(
const Params& dparams,
const params::detail::algorithms_param<SequenceT>& algos) const;
private: // private APIs
/**
*/