Browse files
Adding basic files
| @@ -0,0 +1,5 @@ | ||
| +.buildpath | ||
| +.project | ||
| +.settings/ | ||
| +vendor | ||
| +build |
| @@ -1,4 +1,47 @@ | ||
| -jwt | ||
| -=== | ||
| +# JWT | ||
| -A simple library to work with JSON Web Token and JSON Web Signature | ||
| +master [](http://travis-ci.org/#!/lcobucci/jwt) | ||
| +develop [](http://travis-ci.org/#!/lcobucci/jwt) | ||
| + | ||
| +[](https://packagist.org/packages/lcobucci/jwt) | ||
| +[](https://packagist.org/packages/lcobucci/jwt) | ||
| + | ||
| +A simple library to work with JSON Web Token and JSON Web Signature (requires PHP 5.5+) | ||
| + | ||
| +## Instalation | ||
| + | ||
| +Just add to your composer.json: ```"lcobucci/jwt": "1.x"``` | ||
| + | ||
| +## Basic usage | ||
| + | ||
| +### Creating | ||
| + | ||
| +Just use the builder to create a new JWT/JWS tokens: | ||
| + | ||
| +```php | ||
| +<?php | ||
| +use LcobucciJWTBuilder; | ||
| +use LcobucciJWTSignerSha256; | ||
| + | ||
| +$token = (new Builder())->setIssuer('http://example.com') // Configures the issuer (iss claim) | ||
| + ->setAudience('http://example.org') // Configures the audience (aud claim) | ||
| + ->setId('4f1g23a12aa', true) // Configures the id (jti claim), replicating as a header item | ||
| + ->set('uid', 1) // Configures a new claim, called "uid" | ||
| + ->sign(new Sha256(), 'my key') // Signs the token with HS256 using "my key" as key | ||
| + ->getToken(); // Retrieves the generated token | ||
| + | ||
| +echo $token; // The string representation of the object is a JWT string (pretty easy, right?) | ||
| +``` | ||
| +### Parsing from strings | ||
| + | ||
| +Use the parser to create a new token from a JWT string: | ||
| + | ||
| +```php | ||
| +<?php | ||
| +use LcobucciJWTParser; | ||
| + | ||
| +$token = (new Parser())->parse('...'); // Parses from a string | ||
| +$token->getHeader(); // Retrieves the token header | ||
| +$token->getClaims(); // Retrieves the token claims | ||
| +$token->verify('my key'); // Verifies if the signature was created with given key (if token is signed) | ||
| +``` |
| @@ -0,0 +1,27 @@ | ||
| +{ | ||
| + "name" : "lcobucci/jwt", | ||
| + "description" : "A simple library to work with JSON Web Token and JSON Web Signature", | ||
| + "type" : "library", | ||
| + "authors" : [{ | ||
| + "name" : "Luís Otávio Cobucci Oblonczyk", | ||
| + "email" : "lcobucci@gmail.com", | ||
| + "role": "Developer" | ||
| + } | ||
| + ], | ||
| + "keywords" : ["JWT", "JWS"], | ||
| + "license" : ["BSD-3-Clause"], | ||
| + "require" : { | ||
| + "php" : ">=5.5" | ||
| + }, | ||
| + "require-dev" : { | ||
| + "phpunit/phpunit" : "4.0.x", | ||
| + "squizlabs/php_codesniffer" : "*", | ||
| + "phpmd/phpmd" : "*" | ||
| + }, | ||
| + "autoload" : { | ||
| + "psr-4" : { | ||
| + "Lcobucci\JWT\" : "src", | ||
| + "Lcobucci\JWT\Test\" : "test" | ||
| + } | ||
| + } | ||
| +} |
783 composer.lock
Large diffs are not rendered by default.
23 phpunit.xml
| @@ -0,0 +1,23 @@ | ||
| +<?xml version="1.0" encoding="UTF-8"?> | ||
| +<phpunit | ||
| + colors="true" | ||
| + backupGlobals="false" | ||
| + backupStaticAttributes="false" | ||
| + bootstrap="vendor/autoload.php" | ||
| + strict="true"> | ||
| + <testsuites> | ||
| + <testsuite name="JWT Test Suite"> | ||
| + <directory>test</directory> | ||
| + </testsuite> | ||
| + </testsuites> | ||
| + | ||
| + <filter> | ||
| + <whitelist processUncoveredFilesFromWhitelist="true"> | ||
| + <directory suffix=".php">src</directory> | ||
| + </whitelist> | ||
| + | ||
| + <blacklist> | ||
| + <directory suffix=".php">vendor</directory> | ||
| + </blacklist> | ||
| + </filter> | ||
| +</phpunit> |