Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marianoguerra/jwt-erl

JSON Web Token implementation in Erlang
https://github.com/marianoguerra/jwt-erl

Last synced: 7 days ago
JSON representation

JSON Web Token implementation in Erlang

Awesome Lists containing this project

README

        

JWT.erl
=======

An Erlang implementation of `JSON Web Token draft 01 `_

Usage
-----

::

{ok, Jwt} = jwt:encode(Algorithm, [{name, <<"bob">>}, {age, 29}], <<"secret">>)

Additional headers may also be specified::

{ok, Jwt} = jwt:encode(Algorithm, [{name, <<"bob">>}, {age, 29}], <<"secret">>, [{jti, <<"myid">>}])

where algorithm is one of the atoms:

* hs256
* hs384
* hs512

Note the resulting JWT will not be encrypted, but verifiable with a secret key::

{ok, Decoded} = jwt:decode(Jwt, <<"secret">>)

Decoded is a record defined in include/jwt.hrl, you may be interested in
the body field which contains the raw decoded body.

Algorithms
----------

The JWT spec supports several algorithms for cryptographic signing. This library
currently supports:

* HS256 - HMAC using SHA-256 hash algorithm
* HS384 - HMAC using SHA-384 hash algorithm
* HS512 - HMAC using SHA-512 hash algorithm

Tests
-----

::

make tests

When changing dependencies
--------------------------

::

make rebar.config

License
-------

MIT