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_;
|
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);
|
payload_.remove_claim(name);
|
||||||
return payload_;
|
return payload_;
|
||||||
|
|
|
@ -199,6 +199,13 @@ public: // Exposed APIs
|
||||||
alg_ = alg;
|
alg_ = alg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
void algo(const string_view sv)
|
||||||
|
{
|
||||||
|
alg_ = str_to_alg(sv.data());
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
*/
|
*/
|
||||||
enum algorithm algo() const noexcept
|
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);
|
auto itr = claim_names_.find(cname);
|
||||||
if (itr == claim_names_.end()) return false;
|
if (itr == claim_names_.end()) return false;
|
||||||
|
|
||||||
claim_names_.erase(itr);
|
claim_names_.erase(itr);
|
||||||
payload_.erase(cname.c_str());
|
payload_.erase(cname.data());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -517,6 +524,20 @@ public: // Exposed APIs
|
||||||
return header_;
|
return header_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
std::string secret() const
|
||||||
|
{
|
||||||
|
return secret_;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
void secret(const string_view sv)
|
||||||
|
{
|
||||||
|
secret_.assign(sv.data(), sv.length());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
template <typename T>
|
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);
|
.add_claim("time", 176353563);
|
||||||
|
|
||||||
std::cout << jwt::to_json_str(obj3.payload(), true) << std::endl;
|
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() {
|
int main() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue