++JSON Web Tokens are representations of claims, or authorization proofs that fit into the
+Header
of HTTP requests.
How?
+JWTs are used as the MAC of operations that require authorization:
+-
+
- block proposal +
- transaction proposal. +
They are send alongside the JSON request body in the Header
;
+Authorization: Bearer aaaaaa.bbbbbb.ccccc
+
+Gradecoin uses 3 fields for the JWTs;
+
+{
+"tha": "Hash of the payload, check invididual references",
+"iat": "Issued At, Unix Time",
+"exp": "Expiration Time, epoch"
+}
+
+-
+
tha
is explained in blocks and transactions documentations.
+iat
when the JWT was created in Unix Time format
+exp
when the JWT will expire & be rejected in Unix Time
+
Algorithm
+We are using RS256, RSASSA-PKCS1-v1_5 using SHA-256
. The JWTs you encode with your private RSA key will be decoded using the public key you have authenticated with. You can see how the process works here.