11#include < iostream>
22#include < fstream>
3+ #include < stdio.h>
34
45#include < jwt-cpp/jwt.h>
56
@@ -16,13 +17,17 @@ int main(int argc, const char** argv) {
1617 for (auto & e : decoded.get_payload_claims ())
1718 std::cout << e.first << " = " << e.second .to_json () << std::endl;
1819
19- std::ifstream ifs (" test.pem" );
20- std::string contents ( (std::istreambuf_iterator<char >(ifs)),
20+ std::ifstream priv_ifs (" test.pem" );
21+ std::string private_contents ( (std::istreambuf_iterator<char >(priv_ifs)),
22+ (std::istreambuf_iterator<char >())
23+ );
24+ std::ifstream pub_ifs (" test.pem.pub" );
25+ std::string public_contents ( (std::istreambuf_iterator<char >(pub_ifs)),
2126 (std::istreambuf_iterator<char >())
2227 );
2328
2429 char *err_msg;
25- SciTokenKey key = scitoken_key_create (" key-es356" , " RS256" , contents .c_str (), contents .c_str (), &err_msg);
30+ SciTokenKey key = scitoken_key_create (" key-es356" , " RS256" , public_contents .c_str (), private_contents .c_str (), &err_msg);
2631 if (!key) {
2732 std::cout << " Failed to generate a key: " << err_msg << std::endl;
2833 return 1 ;
@@ -31,9 +36,18 @@ int main(int argc, const char** argv) {
3136 if (scitoken_set_claim_string (scitoken, " iss" , " https://demo.scitokens.org" , &err_msg)) {
3237 std::cout << " Failed to set a claim: " << err_msg << std::endl;
3338 }
39+
40+ // Test setting and getting a claim
3441 char *value;
42+ if (scitoken_get_claim_string (scitoken, " iss" , &value, &err_msg)) {
43+ std::cout << " Failed to get a claim: " << err_msg << std::endl;
44+ }
45+ if (strcmp (value, " https://demo.scitokens.org" ) != 0 ) {
46+ std::cout << " Failed to get same claim a claim: " << err_msg << std::endl;
47+ }
48+
3549 if (scitoken_serialize (scitoken, &value, &err_msg)) {
36- std::cout << " Failed to generate a key : " << err_msg << std::endl;
50+ std::cout << " Failed to generate a token : " << err_msg << std::endl;
3751 return 1 ;
3852 }
3953 std::cout << " SciToken: " << value << std::endl;
0 commit comments