NAME Crypt::JWT - JSON Web Token (JWT, JWS, JWE) as defined by RFC7519, RFC7515, RFC7516 SYNOPSIS # encoding use Crypt::JWT qw(encode_jwt); my $jws_token = encode_jwt(payload=>$data, alg=>'HS256', key=>'secret'); my $jwe_token = encode_jwt(payload=>$data, alg=>'A192GCMKW', enc=>'A192CBC_HS384', key=>'secret'); # decoding use Crypt::JWT qw(decode_jwt); my $data1 = decode_jwt(token=>$jws_token, key=>'secret'); my $data2 = decode_jwt(token=>$jwe_token, key=>'secret'); DESCRIPTION BEWARE: experimental, unfinished, unstable, work in progress!!! Implements JSON Web Token (JWT) - . The implementation covers not only JSON Web Signature (JWS) - , but also JSON Web Encryption (JWE) - . The module implements all (100%) algorithms defined in . Supported JWE (encryption) algorithms: alg enc ------------------ ------------- dir A128GCM A128KW A192GCM A192KW A256GCM A256KW A128CBC-HS256 A128GCMKW A192CBC-HS384 A192GCMKW A256CBC-HS512 A256GCMKW PBES2-HS256+A128KW PBES2-HS384+A192KW PBES2-HS512+A256KW RSA-OAEP RSA-OAEP-256 RSA1_5 ECDH-ES+A128KW ECDH-ES+A192KW ECDH-ES+A256KW ECDH-ES Supported JWS (signature) algorithms: alg note --------- ---------------------------------------- none no integrity (NOTE: disabled by default) HS256 HMAC integrity HS384 HS512 RS256 RSA+PKCS1-V1_5 signatures RS384 RS512 PS256 RSA+PSS signatures PS384 PS512 ES256 ECDSA signatures ES384 ES512 FUNCTIONS decode_jwt my $data = decode_jwt(%named_args); Named arguments: token XXX-TODO key XXX-TODO allow_none XXX-TODO encode_jwt my $token = encode_jwt(%named_args); Named arguments: payload XXX-TODO key XXX-TODO allow_none XXX-TODO auto_iat XXX-TODO SEE ALSO Crypt::Cipher::AES, Crypt::AuthEnc::GCM, Crypt::PK::RSA, Crypt::PK::ECC, Crypt::KeyDerivation, Crypt::KeyWrap