Implementation of a JSON web token following RFC 7519 for Pharo.
For pharo9 and above use
Metacello new
baseline:'JSONWebToken';
repository: 'github://noha/JSONWebToken:pharo9-openssl1.1/source';
load
For pharo8 and below use
Metacello new
baseline:'JSONWebToken';
repository: 'github://noha/JSONWebToken:master/source';
load
The class JSONWebTokenTest demonstrates how to encode/serialize a web signature to a token string using compact base 64 notation as well as deserialization:
testRoundtrip
| jws tokenString materialized |
jws := JsonWebSignature new
algorithmName: 'HS256';
payload: (JWTClaimsSet new
at: 'bar' put: 'foo').
jws key: 'foobar'.
tokenString := jws compactSerialized.
materialized := JsonWebSignature materializeCompact: tokenString key: 'foobar'.
self assert: jws equals: materialized