More APIs added to jwt_object
This commit is contained in:
parent
973e7e0249
commit
9abac3c5d7
4 changed files with 33 additions and 4 deletions
|
@ -254,7 +254,7 @@ jwt_payload& jwt_object::add_claim(const string_view name, T&& value)
|
|||
return payload_;
|
||||
}
|
||||
|
||||
jwt_payload& jwt_object::remove_claim(const std::string& name)
|
||||
jwt_payload& jwt_object::remove_claim(const string_view name)
|
||||
{
|
||||
payload_.remove_claim(name);
|
||||
return payload_;
|
||||
|
|
|
@ -199,6 +199,13 @@ public: // Exposed APIs
|
|||
alg_ = alg;
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
void algo(const string_view sv)
|
||||
{
|
||||
alg_ = str_to_alg(sv.data());
|
||||
}
|
||||
|
||||
/*!
|
||||
*/
|
||||
enum algorithm algo() const noexcept
|
||||
|
@ -305,13 +312,13 @@ public: // Exposed APIs
|
|||
|
||||
/**
|
||||
*/
|
||||
bool remove_claim(const std::string& cname)
|
||||
bool remove_claim(const string_view cname)
|
||||
{
|
||||
auto itr = claim_names_.find(cname);
|
||||
if (itr == claim_names_.end()) return false;
|
||||
|
||||
claim_names_.erase(itr);
|
||||
payload_.erase(cname.c_str());
|
||||
payload_.erase(cname.data());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -517,6 +524,20 @@ public: // Exposed APIs
|
|||
return header_;
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
std::string secret() const
|
||||
{
|
||||
return secret_;
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
void secret(const string_view sv)
|
||||
{
|
||||
secret_.assign(sv.data(), sv.length());
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
template <typename T>
|
||||
|
@ -524,7 +545,7 @@ public: // Exposed APIs
|
|||
|
||||
/**
|
||||
*/
|
||||
jwt_payload& remove_claim(const std::string& name);
|
||||
jwt_payload& remove_claim(const string_view name);
|
||||
|
||||
/**
|
||||
*/
|
||||
|
|
Binary file not shown.
|
@ -34,6 +34,14 @@ void basic_jwt_object_test()
|
|||
.add_claim("time", 176353563);
|
||||
|
||||
std::cout << jwt::to_json_str(obj3.payload(), true) << std::endl;
|
||||
|
||||
obj3.remove_claim(std::string{"a"});
|
||||
std::cout << obj3.payload() << std::endl;
|
||||
|
||||
obj3.secret("secret");
|
||||
obj3.header().algo("hs256");
|
||||
|
||||
std::cout << obj3.signature() << std::endl;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue