NAME
Dancer2::Plugin::JWT - JSON Web Token made simple for Dancer2
SYNOPSIS
use Dancer2;
use Dancer2::Plugin::JWT;
post '/login' => sub {
if (is_valid(param("username"), param("password"))) {
jwt { username => param("username") };
template 'index';
}
else {
redirect '/';
}
};
get '/private' => sub {
my $data = jwt;
redirect '/ unless exists $data->{username};
...
};
DESCRIPTION
Registers the jwt
keyword that can be used to set or retrieve the payload of a JSON Web Token.
To this to work it is required to have a secret defined in your config.yml file:
plugins:
JWT:
secret: "string or path to private RSA\EC key"
alg: HS256 # default, or others supported by Crypt::JWT
enc: # required onlt for JWE
need_iat: 1 # add issued at field
need_nbf: 1 # check not before field
need_exp: 600 # in seconds
need_leeway: 30 # timeshift for expiration
BUGS
I am sure a lot. Please use GitHub issue tracker here.
ACKNOWLEDGEMENTS
To Lee Johnson for his talk "JWT JWT JWT" in YAPC::EU::2015.
To Yuji Shimada for JSON::WebToken.
To Nuno Carvalho for brainstorming and help with testing.
COPYRIGHT AND LICENSE
Copyright 2015 Alberto Simões, all rights reserved.
This module is free software and is published under the same terms as Perl itself.
AUTHOR
Alberto Simões <ambs@cpan.org>