-
Notifications
You must be signed in to change notification settings - Fork 10
Token
Stefano Azzolini edited this page Feb 22, 2016
·
1 revision
The Token module exports methods for handling JWT tokens.
JSON Web Token (JWT) is a means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is digitally signed using JSON Web Signature (JWS) and/or encrypted using JSON Web Encryption (JWE).
See JWT specs online.
You need to pass a shared secret for securely signing the payload. You can use every JSON-encodable object as a payload.
Important: Payloads in JWT are user-readable, this format is not an obfuscation via encryption. JWT assure that no counterfeiting was applyed on received payload via shared secret signing.
$payload = [1,2,3];
echo Token::encode($payload,"This is a secret code");
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.WzEsMiwzXQ.zQsu4G5B2CYZ9LI5IAMxY3GiWuvx6qL6ir7DcWompV8
$token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.WzEsMiwzXQ.zQsu4G5B2CYZ9LI5IAMxY3GiWuvx6qL6ir7DcWompV8';
try {
$payload = Token::decode($token,"This is a secret code");
} catch (Exception $e) {
die( "Something fishy here : " . $e->getMessage() );
}
var_dump($payload);
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
Core is maintained by using the Semantic Versioning Specification (SemVer).
Copyright 2014-2016 Caffeina srl under the MIT license.
http://caffeina.com