mirror of
https://github.com/arun11299/cpp-jwt.git
synced 2025-06-01 09:27:41 +00:00
Payload data type addded
This commit is contained in:
parent
733696bf49
commit
e7d52450d6
8 changed files with 199 additions and 11 deletions
1
include/jwt/test/compile.txt
Normal file
1
include/jwt/test/compile.txt
Normal file
|
@ -0,0 +1 @@
|
|||
g++ -std=c++14 -I /usr/local/Cellar/openssl/1.0.2j/include/ -I /Users/amuralid/dev_test/cpp-jwt/include/ -o test_rsa test_rsa.cc -L /usr/local/Cellar//openssl/1.0.2j/lib/ -lssl -lcrypto
|
BIN
include/jwt/test/test_jwt_payload
Executable file
BIN
include/jwt/test/test_jwt_payload
Executable file
Binary file not shown.
34
include/jwt/test/test_jwt_payload.cc
Normal file
34
include/jwt/test/test_jwt_payload.cc
Normal file
|
@ -0,0 +1,34 @@
|
|||
#include <iostream>
|
||||
#include "jwt/jwt.hpp"
|
||||
|
||||
void basic_payload_test()
|
||||
{
|
||||
jwt::jwt_payload jp;
|
||||
jp.add_claim("iss", "myself");
|
||||
jp.add_claim("exp", 1234567);
|
||||
jp.add_claim("Exp", 1234567, true);
|
||||
|
||||
auto jstr = jwt::to_json_str(jp);
|
||||
std::cout << jstr << std::endl;
|
||||
|
||||
auto enc = jp.base64_encode();
|
||||
std::cout << "Base64 enc: " << enc << std::endl;
|
||||
|
||||
auto dec = jp.base64_decode(enc);
|
||||
std::cout << "Base64 dec: " << dec << std::endl;
|
||||
std::cout << "Base64 dec: " << jstr << std::endl;
|
||||
|
||||
assert (jstr == dec && "Encoded and decoded messages do not match");
|
||||
assert (jp.has_claim("exp") && "Claim exp must exist");
|
||||
assert (jp.has_claim("Exp") && "Claim Exp must exist");
|
||||
|
||||
assert (!jp.has_claim("aud") && "Claim aud does not exist");
|
||||
assert (jp.has_claim_with_value("exp", 1234567) && "Claim exp with value 1234567 does not exist");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int main() {
|
||||
basic_payload_test();
|
||||
return 0;
|
||||
}
|
BIN
include/jwt/test/test_rsa
Executable file
BIN
include/jwt/test/test_rsa
Executable file
Binary file not shown.
47
include/jwt/test/test_rsa.cc
Normal file
47
include/jwt/test/test_rsa.cc
Normal file
|
@ -0,0 +1,47 @@
|
|||
#include <iostream>
|
||||
#include "jwt/algorithm.hpp"
|
||||
|
||||
static const char* rsa_2048_pem =
|
||||
R"(-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDC2kwAziXUf33m
|
||||
iqWp0yG6o259+nj7hpQLC4UT0Hmz0wmvreDJ/yNbSgOvsxvVdvzL2IaRZ+Gi5mo0
|
||||
lswWvL6IGz7PZO0kXTq9sdBnNqMOx27HddV9e/2/p0MgibJTbgywY2Sk23QYhJpq
|
||||
Kq/nU0xlBfSaI5ddZ2RC9ZNkVeGawUKYksTruhAVJqviHN8BoK6VowP5vcxyyOWH
|
||||
TK9KruDqzCIhqwRTeo0spokBkTN/LCuhVivcHAzUiJVtB4qAiTI9L/zkzhjpKz9P
|
||||
45aLU54rj011gG8U/6E1USh5nMnPkr+d3oLfkhfS3Zs3kJVdyFQWZpQxiTaI92Fd
|
||||
2wLvbS0HAgMBAAECggEAD8dTnkETSSjlzhRuI9loAtAXM3Zj86JLPLW7GgaoxEoT
|
||||
n7lJ2bGicFMHB2ROnbOb9vnas82gtOtJsGaBslmoaCckp/C5T1eJWTEb+i+vdpPp
|
||||
wZcmKZovyyRFSE4+NYlU17fEv6DRvuaGBpDcW7QgHJIl45F8QWEM+msee2KE+V4G
|
||||
z/9vAQ+sOlvsb4mJP1tJIBx9Lb5loVREwCRy2Ha9tnWdDNar8EYkOn8si4snPT+E
|
||||
3ZCy8mlcZyUkZeiS/HdtydxZfoiwrSRYamd1diQpPhWCeRteQ802a7ds0Y2YzgfF
|
||||
UaYjNuRQm7zA//hwbXS7ELPyNMU15N00bajlG0tUOQKBgQDnLy01l20OneW6A2cI
|
||||
DIDyYhy5O7uulsaEtJReUlcjEDMkin8b767q2VZHb//3ZH+ipnRYByUUyYUhdOs2
|
||||
DYRGGeAebnH8wpTT4FCYxUsIUpDfB7RwfdBONgaKewTJz/FPswy1Ye0b5H2c6vVi
|
||||
m2FZ33HQcoZ3wvFFqyGVnMzpOwKBgQDXxL95yoxUGKa8vMzcE3Cn01szh0dFq0sq
|
||||
cFpM+HWLVr84CItuG9H6L0KaStEEIOiJsxOVpcXfFFhsJvOGhMA4DQTwH4WuXmXp
|
||||
1PoVMDlV65PYqvhzwL4+QhvZO2bsrEunITXOmU7CI6kilnAN3LuP4HbqZgoX9lqP
|
||||
I31VYzLupQKBgGEYck9w0s/xxxtR9ILv5XRnepLdoJzaHHR991aKFKjYU/KD7JDK
|
||||
INfoAhGs23+HCQhCCtkx3wQVA0Ii/erM0II0ueluD5fODX3TV2ZibnoHW2sgrEsW
|
||||
vFcs36BnvIIaQMptc+f2QgSV+Z/fGsKYadG6Q+39O7au/HB7SHayzWkjAoGBAMgt
|
||||
Fzslp9TpXd9iBWjzfCOnGUiP65Z+GWkQ/SXFqD+SRir0+m43zzGdoNvGJ23+Hd6K
|
||||
TdQbDJ0uoe4MoQeepzoZEgi4JeykVUZ/uVfo+nh06yArVf8FxTm7WVzLGGzgV/uA
|
||||
+wtl/cRtEyAsk1649yW/KHPEIP8kJdYAJeoO8xSlAoGAERMrkFR7KGYZG1eFNRdV
|
||||
mJMq+Ibxyw8ks/CbiI+n3yUyk1U8962ol2Q0T4qjBmb26L5rrhNQhneM4e8mo9FX
|
||||
LlQapYkPvkdrqW0Bp72A/UNAvcGTmN7z5OCJGMUutx2hmEAlrYmpLKS8pM/p9zpK
|
||||
tEOtzsP5GMDYVlEp1jYSjzQ=
|
||||
-----END PRIVATE KEY-----)";
|
||||
|
||||
void basic_rsa_test()
|
||||
{
|
||||
jwt::string_view sv = rsa_2048_pem;
|
||||
jwt::string_view d = "Some random data string";
|
||||
|
||||
auto res = jwt::PEMSign<jwt::algo::RS256>::sign(sv, d);
|
||||
|
||||
std::cout << res.first << std::endl;
|
||||
}
|
||||
|
||||
int main() {
|
||||
basic_rsa_test();
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue