Version Description
- Update firebase/php-jwt to v5.0.0 ( https://github.com/firebase/php-jwt )
- Add Requires PHP Tag
Download this release
Release Info
Developer | Tmeister |
Plugin | JWT Authentication for WP REST API |
Version | 1.2.4 |
Comparing to | |
See all releases |
Code changes from version 1.2.3 to 1.2.4
- composer.json +1 -1
- composer.lock +430 -197
- includes/vendor/autoload.php +1 -1
- includes/vendor/composer/ClassLoader.php +45 -13
- includes/vendor/composer/LICENSE +1 -1
- includes/vendor/composer/autoload_files.php +0 -12
- includes/vendor/composer/autoload_real.php +1 -1
- includes/vendor/composer/installed.json +9 -6
- includes/vendor/firebase/php-jwt/.travis.yml +0 -13
- includes/vendor/firebase/php-jwt/README.md +88 -2
- includes/vendor/firebase/php-jwt/composer.json +3 -1
- includes/vendor/firebase/php-jwt/composer.lock +0 -19
- includes/vendor/firebase/php-jwt/package.xml +0 -77
- includes/vendor/firebase/php-jwt/phpunit.xml.dist +0 -19
- includes/vendor/firebase/php-jwt/run-tests.sh +0 -38
- includes/vendor/firebase/php-jwt/src/JWT.php +61 -39
- includes/vendor/firebase/php-jwt/tests/JWTTest.php +0 -264
- includes/vendor/firebase/php-jwt/tests/autoload.php.dist +0 -17
- includes/vendor/firebase/php-jwt/tests/bootstrap.php +0 -7
- jwt-auth.php +1 -1
- public/class-jwt-auth-public.php +1 -1
- readme.txt +7 -2
composer.json
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
"vendor-dir": "includes/vendor"
|
4 |
},
|
5 |
"require": {
|
6 |
-
"firebase/php-jwt": "^
|
7 |
},
|
8 |
"require-dev": {
|
9 |
"phpunit/phpunit": "^5.2",
|
3 |
"vendor-dir": "includes/vendor"
|
4 |
},
|
5 |
"require": {
|
6 |
+
"firebase/php-jwt": "^5.0.0"
|
7 |
},
|
8 |
"require-dev": {
|
9 |
"phpunit/phpunit": "^5.2",
|
composer.lock
CHANGED
@@ -4,26 +4,28 @@
|
|
4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
-
"hash": "
|
8 |
-
"content-hash": "9e314d7aeab7190356aa57664f458cd4",
|
9 |
"packages": [
|
10 |
{
|
11 |
"name": "firebase/php-jwt",
|
12 |
-
"version": "
|
13 |
"source": {
|
14 |
"type": "git",
|
15 |
"url": "https://github.com/firebase/php-jwt.git",
|
16 |
-
"reference": "
|
17 |
},
|
18 |
"dist": {
|
19 |
"type": "zip",
|
20 |
-
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/
|
21 |
-
"reference": "
|
22 |
"shasum": ""
|
23 |
},
|
24 |
"require": {
|
25 |
"php": ">=5.3.0"
|
26 |
},
|
|
|
|
|
|
|
27 |
"type": "library",
|
28 |
"autoload": {
|
29 |
"psr-4": {
|
@@ -48,38 +50,38 @@
|
|
48 |
],
|
49 |
"description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
|
50 |
"homepage": "https://github.com/firebase/php-jwt",
|
51 |
-
"time": "
|
52 |
}
|
53 |
],
|
54 |
"packages-dev": [
|
55 |
{
|
56 |
"name": "doctrine/instantiator",
|
57 |
-
"version": "1.0
|
58 |
"source": {
|
59 |
"type": "git",
|
60 |
"url": "https://github.com/doctrine/instantiator.git",
|
61 |
-
"reference": "
|
62 |
},
|
63 |
"dist": {
|
64 |
"type": "zip",
|
65 |
-
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/
|
66 |
-
"reference": "
|
67 |
"shasum": ""
|
68 |
},
|
69 |
"require": {
|
70 |
-
"php": "
|
71 |
},
|
72 |
"require-dev": {
|
73 |
"athletic/athletic": "~0.1.8",
|
74 |
"ext-pdo": "*",
|
75 |
"ext-phar": "*",
|
76 |
-
"phpunit/phpunit": "
|
77 |
-
"squizlabs/php_codesniffer": "
|
78 |
},
|
79 |
"type": "library",
|
80 |
"extra": {
|
81 |
"branch-alias": {
|
82 |
-
"dev-master": "1.
|
83 |
}
|
84 |
},
|
85 |
"autoload": {
|
@@ -104,36 +106,39 @@
|
|
104 |
"constructor",
|
105 |
"instantiate"
|
106 |
],
|
107 |
-
"time": "
|
108 |
},
|
109 |
{
|
110 |
"name": "guzzlehttp/guzzle",
|
111 |
-
"version": "6.
|
112 |
"source": {
|
113 |
"type": "git",
|
114 |
"url": "https://github.com/guzzle/guzzle.git",
|
115 |
-
"reference": "
|
116 |
},
|
117 |
"dist": {
|
118 |
"type": "zip",
|
119 |
-
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/
|
120 |
-
"reference": "
|
121 |
"shasum": ""
|
122 |
},
|
123 |
"require": {
|
124 |
-
"guzzlehttp/promises": "
|
125 |
-
"guzzlehttp/psr7": "
|
126 |
-
"php": ">=5.5
|
127 |
},
|
128 |
"require-dev": {
|
129 |
"ext-curl": "*",
|
130 |
-
"phpunit/phpunit": "
|
131 |
-
"psr/log": "
|
|
|
|
|
|
|
132 |
},
|
133 |
"type": "library",
|
134 |
"extra": {
|
135 |
"branch-alias": {
|
136 |
-
"dev-master": "6.
|
137 |
}
|
138 |
},
|
139 |
"autoload": {
|
@@ -166,32 +171,32 @@
|
|
166 |
"rest",
|
167 |
"web service"
|
168 |
],
|
169 |
-
"time": "
|
170 |
},
|
171 |
{
|
172 |
"name": "guzzlehttp/promises",
|
173 |
-
"version": "
|
174 |
"source": {
|
175 |
"type": "git",
|
176 |
"url": "https://github.com/guzzle/promises.git",
|
177 |
-
"reference": "
|
178 |
},
|
179 |
"dist": {
|
180 |
"type": "zip",
|
181 |
-
"url": "https://api.github.com/repos/guzzle/promises/zipball/
|
182 |
-
"reference": "
|
183 |
"shasum": ""
|
184 |
},
|
185 |
"require": {
|
186 |
"php": ">=5.5.0"
|
187 |
},
|
188 |
"require-dev": {
|
189 |
-
"phpunit/phpunit": "
|
190 |
},
|
191 |
"type": "library",
|
192 |
"extra": {
|
193 |
"branch-alias": {
|
194 |
-
"dev-master": "1.
|
195 |
}
|
196 |
},
|
197 |
"autoload": {
|
@@ -217,20 +222,20 @@
|
|
217 |
"keywords": [
|
218 |
"promise"
|
219 |
],
|
220 |
-
"time": "
|
221 |
},
|
222 |
{
|
223 |
"name": "guzzlehttp/psr7",
|
224 |
-
"version": "1.2
|
225 |
"source": {
|
226 |
"type": "git",
|
227 |
"url": "https://github.com/guzzle/psr7.git",
|
228 |
-
"reference": "
|
229 |
},
|
230 |
"dist": {
|
231 |
"type": "zip",
|
232 |
-
"url": "https://api.github.com/repos/guzzle/psr7/zipball/
|
233 |
-
"reference": "
|
234 |
"shasum": ""
|
235 |
},
|
236 |
"require": {
|
@@ -246,7 +251,7 @@
|
|
246 |
"type": "library",
|
247 |
"extra": {
|
248 |
"branch-alias": {
|
249 |
-
"dev-master": "1.
|
250 |
}
|
251 |
},
|
252 |
"autoload": {
|
@@ -266,29 +271,36 @@
|
|
266 |
"name": "Michael Dowling",
|
267 |
"email": "mtdowling@gmail.com",
|
268 |
"homepage": "https://github.com/mtdowling"
|
|
|
|
|
|
|
|
|
269 |
}
|
270 |
],
|
271 |
-
"description": "PSR-7 message implementation",
|
272 |
"keywords": [
|
273 |
"http",
|
274 |
"message",
|
|
|
|
|
275 |
"stream",
|
276 |
-
"uri"
|
|
|
277 |
],
|
278 |
-
"time": "
|
279 |
},
|
280 |
{
|
281 |
"name": "myclabs/deep-copy",
|
282 |
-
"version": "1.
|
283 |
"source": {
|
284 |
"type": "git",
|
285 |
"url": "https://github.com/myclabs/DeepCopy.git",
|
286 |
-
"reference": "
|
287 |
},
|
288 |
"dist": {
|
289 |
"type": "zip",
|
290 |
-
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/
|
291 |
-
"reference": "
|
292 |
"shasum": ""
|
293 |
},
|
294 |
"require": {
|
@@ -317,41 +329,138 @@
|
|
317 |
"object",
|
318 |
"object graph"
|
319 |
],
|
320 |
-
"time": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
},
|
322 |
{
|
323 |
"name": "phpdocumentor/reflection-docblock",
|
324 |
-
"version": "
|
325 |
"source": {
|
326 |
"type": "git",
|
327 |
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
328 |
-
"reference": "
|
329 |
},
|
330 |
"dist": {
|
331 |
"type": "zip",
|
332 |
-
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/
|
333 |
-
"reference": "
|
334 |
"shasum": ""
|
335 |
},
|
336 |
"require": {
|
337 |
-
"php": "
|
|
|
|
|
|
|
338 |
},
|
339 |
"require-dev": {
|
340 |
-
"
|
|
|
341 |
},
|
342 |
-
"
|
343 |
-
|
344 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
345 |
},
|
346 |
"type": "library",
|
347 |
"extra": {
|
348 |
"branch-alias": {
|
349 |
-
"dev-master": "
|
350 |
}
|
351 |
},
|
352 |
"autoload": {
|
353 |
-
"psr-
|
354 |
-
"phpDocumentor": [
|
355 |
"src/"
|
356 |
]
|
357 |
}
|
@@ -363,39 +472,40 @@
|
|
363 |
"authors": [
|
364 |
{
|
365 |
"name": "Mike van Riel",
|
366 |
-
"email": "
|
367 |
}
|
368 |
],
|
369 |
-
"time": "
|
370 |
},
|
371 |
{
|
372 |
"name": "phpspec/prophecy",
|
373 |
-
"version": "v1.
|
374 |
"source": {
|
375 |
"type": "git",
|
376 |
"url": "https://github.com/phpspec/prophecy.git",
|
377 |
-
"reference": "
|
378 |
},
|
379 |
"dist": {
|
380 |
"type": "zip",
|
381 |
-
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/
|
382 |
-
"reference": "
|
383 |
"shasum": ""
|
384 |
},
|
385 |
"require": {
|
386 |
"doctrine/instantiator": "^1.0.2",
|
387 |
"php": "^5.3|^7.0",
|
388 |
-
"phpdocumentor/reflection-docblock": "
|
389 |
-
"sebastian/comparator": "
|
390 |
-
"sebastian/recursion-context": "
|
391 |
},
|
392 |
"require-dev": {
|
393 |
-
"phpspec/phpspec": "
|
|
|
394 |
},
|
395 |
"type": "library",
|
396 |
"extra": {
|
397 |
"branch-alias": {
|
398 |
-
"dev-master": "1.
|
399 |
}
|
400 |
},
|
401 |
"autoload": {
|
@@ -428,44 +538,44 @@
|
|
428 |
"spy",
|
429 |
"stub"
|
430 |
],
|
431 |
-
"time": "
|
432 |
},
|
433 |
{
|
434 |
"name": "phpunit/php-code-coverage",
|
435 |
-
"version": "
|
436 |
"source": {
|
437 |
"type": "git",
|
438 |
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
439 |
-
"reference": "
|
440 |
},
|
441 |
"dist": {
|
442 |
"type": "zip",
|
443 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/
|
444 |
-
"reference": "
|
445 |
"shasum": ""
|
446 |
},
|
447 |
"require": {
|
|
|
|
|
448 |
"php": "^5.6 || ^7.0",
|
449 |
-
"phpunit/php-file-iterator": "
|
450 |
-
"phpunit/php-text-template": "
|
451 |
-
"phpunit/php-token-stream": "^1.4.2",
|
452 |
-
"sebastian/code-unit-reverse-lookup": "
|
453 |
-
"sebastian/environment": "^1.3.2",
|
454 |
-
"sebastian/version": "
|
455 |
},
|
456 |
"require-dev": {
|
457 |
-
"ext-xdebug": "
|
458 |
-
"phpunit/phpunit": "
|
459 |
},
|
460 |
"suggest": {
|
461 |
-
"ext-
|
462 |
-
"ext-xdebug": ">=2.2.1",
|
463 |
-
"ext-xmlwriter": "*"
|
464 |
},
|
465 |
"type": "library",
|
466 |
"extra": {
|
467 |
"branch-alias": {
|
468 |
-
"dev-master": "
|
469 |
}
|
470 |
},
|
471 |
"autoload": {
|
@@ -491,20 +601,20 @@
|
|
491 |
"testing",
|
492 |
"xunit"
|
493 |
],
|
494 |
-
"time": "
|
495 |
},
|
496 |
{
|
497 |
"name": "phpunit/php-file-iterator",
|
498 |
-
"version": "1.4.
|
499 |
"source": {
|
500 |
"type": "git",
|
501 |
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
|
502 |
-
"reference": "
|
503 |
},
|
504 |
"dist": {
|
505 |
"type": "zip",
|
506 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/
|
507 |
-
"reference": "
|
508 |
"shasum": ""
|
509 |
},
|
510 |
"require": {
|
@@ -538,7 +648,7 @@
|
|
538 |
"filesystem",
|
539 |
"iterator"
|
540 |
],
|
541 |
-
"time": "
|
542 |
},
|
543 |
{
|
544 |
"name": "phpunit/php-text-template",
|
@@ -579,26 +689,34 @@
|
|
579 |
"keywords": [
|
580 |
"template"
|
581 |
],
|
582 |
-
"time": "2015-06-
|
583 |
},
|
584 |
{
|
585 |
"name": "phpunit/php-timer",
|
586 |
-
"version": "1.0.
|
587 |
"source": {
|
588 |
"type": "git",
|
589 |
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
590 |
-
"reference": "
|
591 |
},
|
592 |
"dist": {
|
593 |
"type": "zip",
|
594 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/
|
595 |
-
"reference": "
|
596 |
"shasum": ""
|
597 |
},
|
598 |
"require": {
|
599 |
-
"php": "
|
|
|
|
|
|
|
600 |
},
|
601 |
"type": "library",
|
|
|
|
|
|
|
|
|
|
|
602 |
"autoload": {
|
603 |
"classmap": [
|
604 |
"src/"
|
@@ -620,33 +738,33 @@
|
|
620 |
"keywords": [
|
621 |
"timer"
|
622 |
],
|
623 |
-
"time": "
|
624 |
},
|
625 |
{
|
626 |
"name": "phpunit/php-token-stream",
|
627 |
-
"version": "
|
628 |
"source": {
|
629 |
"type": "git",
|
630 |
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
631 |
-
"reference": "
|
632 |
},
|
633 |
"dist": {
|
634 |
"type": "zip",
|
635 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/
|
636 |
-
"reference": "
|
637 |
"shasum": ""
|
638 |
},
|
639 |
"require": {
|
640 |
"ext-tokenizer": "*",
|
641 |
-
"php": "
|
642 |
},
|
643 |
"require-dev": {
|
644 |
-
"phpunit/phpunit": "
|
645 |
},
|
646 |
"type": "library",
|
647 |
"extra": {
|
648 |
"branch-alias": {
|
649 |
-
"dev-master": "
|
650 |
}
|
651 |
},
|
652 |
"autoload": {
|
@@ -669,46 +787,54 @@
|
|
669 |
"keywords": [
|
670 |
"tokenizer"
|
671 |
],
|
672 |
-
"time": "
|
673 |
},
|
674 |
{
|
675 |
"name": "phpunit/phpunit",
|
676 |
-
"version": "5.
|
677 |
"source": {
|
678 |
"type": "git",
|
679 |
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
680 |
-
"reference": "
|
681 |
},
|
682 |
"dist": {
|
683 |
"type": "zip",
|
684 |
-
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/
|
685 |
-
"reference": "
|
686 |
"shasum": ""
|
687 |
},
|
688 |
"require": {
|
689 |
"ext-dom": "*",
|
690 |
"ext-json": "*",
|
691 |
-
"ext-
|
692 |
-
"ext-
|
693 |
-
"ext-
|
694 |
"myclabs/deep-copy": "~1.3",
|
695 |
"php": "^5.6 || ^7.0",
|
696 |
-
"phpspec/prophecy": "^1.
|
697 |
-
"phpunit/php-code-coverage": "^
|
698 |
"phpunit/php-file-iterator": "~1.4",
|
699 |
"phpunit/php-text-template": "~1.2",
|
700 |
-
"phpunit/php-timer": "
|
701 |
-
"phpunit/phpunit-mock-objects": "
|
702 |
-
"sebastian/comparator": "
|
703 |
-
"sebastian/diff": "
|
704 |
-
"sebastian/environment": "
|
705 |
-
"sebastian/exporter": "~
|
706 |
-
"sebastian/global-state": "
|
|
|
707 |
"sebastian/resource-operations": "~1.0",
|
708 |
-
"sebastian/version": "~1.0|~2.0",
|
709 |
"symfony/yaml": "~2.1|~3.0"
|
710 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
711 |
"suggest": {
|
|
|
712 |
"phpunit/php-invoker": "~1.1"
|
713 |
},
|
714 |
"bin": [
|
@@ -717,7 +843,7 @@
|
|
717 |
"type": "library",
|
718 |
"extra": {
|
719 |
"branch-alias": {
|
720 |
-
"dev-master": "5.
|
721 |
}
|
722 |
},
|
723 |
"autoload": {
|
@@ -743,30 +869,33 @@
|
|
743 |
"testing",
|
744 |
"xunit"
|
745 |
],
|
746 |
-
"time": "
|
747 |
},
|
748 |
{
|
749 |
"name": "phpunit/phpunit-mock-objects",
|
750 |
-
"version": "3.
|
751 |
"source": {
|
752 |
"type": "git",
|
753 |
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
|
754 |
-
"reference": "
|
755 |
},
|
756 |
"dist": {
|
757 |
"type": "zip",
|
758 |
-
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/
|
759 |
-
"reference": "
|
760 |
"shasum": ""
|
761 |
},
|
762 |
"require": {
|
763 |
"doctrine/instantiator": "^1.0.2",
|
764 |
-
"php": "
|
765 |
-
"phpunit/php-text-template": "
|
766 |
-
"sebastian/exporter": "
|
|
|
|
|
|
|
767 |
},
|
768 |
"require-dev": {
|
769 |
-
"phpunit/phpunit": "
|
770 |
},
|
771 |
"suggest": {
|
772 |
"ext-soap": "*"
|
@@ -774,7 +903,7 @@
|
|
774 |
"type": "library",
|
775 |
"extra": {
|
776 |
"branch-alias": {
|
777 |
-
"dev-master": "3.
|
778 |
}
|
779 |
},
|
780 |
"autoload": {
|
@@ -799,20 +928,20 @@
|
|
799 |
"mock",
|
800 |
"xunit"
|
801 |
],
|
802 |
-
"time": "
|
803 |
},
|
804 |
{
|
805 |
"name": "psr/http-message",
|
806 |
-
"version": "1.0",
|
807 |
"source": {
|
808 |
"type": "git",
|
809 |
"url": "https://github.com/php-fig/http-message.git",
|
810 |
-
"reference": "
|
811 |
},
|
812 |
"dist": {
|
813 |
"type": "zip",
|
814 |
-
"url": "https://api.github.com/repos/php-fig/http-message/zipball/
|
815 |
-
"reference": "
|
816 |
"shasum": ""
|
817 |
},
|
818 |
"require": {
|
@@ -840,6 +969,7 @@
|
|
840 |
}
|
841 |
],
|
842 |
"description": "Common interface for HTTP messages",
|
|
|
843 |
"keywords": [
|
844 |
"http",
|
845 |
"http-message",
|
@@ -848,27 +978,27 @@
|
|
848 |
"request",
|
849 |
"response"
|
850 |
],
|
851 |
-
"time": "
|
852 |
},
|
853 |
{
|
854 |
"name": "sebastian/code-unit-reverse-lookup",
|
855 |
-
"version": "1.0.
|
856 |
"source": {
|
857 |
"type": "git",
|
858 |
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
|
859 |
-
"reference": "
|
860 |
},
|
861 |
"dist": {
|
862 |
"type": "zip",
|
863 |
-
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/
|
864 |
-
"reference": "
|
865 |
"shasum": ""
|
866 |
},
|
867 |
"require": {
|
868 |
-
"php": "
|
869 |
},
|
870 |
"require-dev": {
|
871 |
-
"phpunit/phpunit": "
|
872 |
},
|
873 |
"type": "library",
|
874 |
"extra": {
|
@@ -893,26 +1023,26 @@
|
|
893 |
],
|
894 |
"description": "Looks up which function or method a line of code belongs to",
|
895 |
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
896 |
-
"time": "
|
897 |
},
|
898 |
{
|
899 |
"name": "sebastian/comparator",
|
900 |
-
"version": "1.2.
|
901 |
"source": {
|
902 |
"type": "git",
|
903 |
"url": "https://github.com/sebastianbergmann/comparator.git",
|
904 |
-
"reference": "
|
905 |
},
|
906 |
"dist": {
|
907 |
"type": "zip",
|
908 |
-
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/
|
909 |
-
"reference": "
|
910 |
"shasum": ""
|
911 |
},
|
912 |
"require": {
|
913 |
"php": ">=5.3.3",
|
914 |
"sebastian/diff": "~1.2",
|
915 |
-
"sebastian/exporter": "~1.2"
|
916 |
},
|
917 |
"require-dev": {
|
918 |
"phpunit/phpunit": "~4.4"
|
@@ -957,27 +1087,27 @@
|
|
957 |
"compare",
|
958 |
"equality"
|
959 |
],
|
960 |
-
"time": "
|
961 |
},
|
962 |
{
|
963 |
"name": "sebastian/diff",
|
964 |
-
"version": "1.4.
|
965 |
"source": {
|
966 |
"type": "git",
|
967 |
"url": "https://github.com/sebastianbergmann/diff.git",
|
968 |
-
"reference": "
|
969 |
},
|
970 |
"dist": {
|
971 |
"type": "zip",
|
972 |
-
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/
|
973 |
-
"reference": "
|
974 |
"shasum": ""
|
975 |
},
|
976 |
"require": {
|
977 |
-
"php": "
|
978 |
},
|
979 |
"require-dev": {
|
980 |
-
"phpunit/phpunit": "
|
981 |
},
|
982 |
"type": "library",
|
983 |
"extra": {
|
@@ -1009,32 +1139,32 @@
|
|
1009 |
"keywords": [
|
1010 |
"diff"
|
1011 |
],
|
1012 |
-
"time": "
|
1013 |
},
|
1014 |
{
|
1015 |
"name": "sebastian/environment",
|
1016 |
-
"version": "
|
1017 |
"source": {
|
1018 |
"type": "git",
|
1019 |
"url": "https://github.com/sebastianbergmann/environment.git",
|
1020 |
-
"reference": "
|
1021 |
},
|
1022 |
"dist": {
|
1023 |
"type": "zip",
|
1024 |
-
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/
|
1025 |
-
"reference": "
|
1026 |
"shasum": ""
|
1027 |
},
|
1028 |
"require": {
|
1029 |
-
"php": "
|
1030 |
},
|
1031 |
"require-dev": {
|
1032 |
-
"phpunit/phpunit": "
|
1033 |
},
|
1034 |
"type": "library",
|
1035 |
"extra": {
|
1036 |
"branch-alias": {
|
1037 |
-
"dev-master": "
|
1038 |
}
|
1039 |
},
|
1040 |
"autoload": {
|
@@ -1059,33 +1189,34 @@
|
|
1059 |
"environment",
|
1060 |
"hhvm"
|
1061 |
],
|
1062 |
-
"time": "2016-
|
1063 |
},
|
1064 |
{
|
1065 |
"name": "sebastian/exporter",
|
1066 |
-
"version": "
|
1067 |
"source": {
|
1068 |
"type": "git",
|
1069 |
"url": "https://github.com/sebastianbergmann/exporter.git",
|
1070 |
-
"reference": "
|
1071 |
},
|
1072 |
"dist": {
|
1073 |
"type": "zip",
|
1074 |
-
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/
|
1075 |
-
"reference": "
|
1076 |
"shasum": ""
|
1077 |
},
|
1078 |
"require": {
|
1079 |
"php": ">=5.3.3",
|
1080 |
-
"sebastian/recursion-context": "~
|
1081 |
},
|
1082 |
"require-dev": {
|
|
|
1083 |
"phpunit/phpunit": "~4.4"
|
1084 |
},
|
1085 |
"type": "library",
|
1086 |
"extra": {
|
1087 |
"branch-alias": {
|
1088 |
-
"dev-master": "
|
1089 |
}
|
1090 |
},
|
1091 |
"autoload": {
|
@@ -1125,7 +1256,7 @@
|
|
1125 |
"export",
|
1126 |
"exporter"
|
1127 |
],
|
1128 |
-
"time": "
|
1129 |
},
|
1130 |
{
|
1131 |
"name": "sebastian/global-state",
|
@@ -1176,20 +1307,66 @@
|
|
1176 |
"keywords": [
|
1177 |
"global state"
|
1178 |
],
|
1179 |
-
"time": "2015-10-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1180 |
},
|
1181 |
{
|
1182 |
"name": "sebastian/recursion-context",
|
1183 |
-
"version": "
|
1184 |
"source": {
|
1185 |
"type": "git",
|
1186 |
"url": "https://github.com/sebastianbergmann/recursion-context.git",
|
1187 |
-
"reference": "
|
1188 |
},
|
1189 |
"dist": {
|
1190 |
"type": "zip",
|
1191 |
-
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/
|
1192 |
-
"reference": "
|
1193 |
"shasum": ""
|
1194 |
},
|
1195 |
"require": {
|
@@ -1201,7 +1378,7 @@
|
|
1201 |
"type": "library",
|
1202 |
"extra": {
|
1203 |
"branch-alias": {
|
1204 |
-
"dev-master": "
|
1205 |
}
|
1206 |
},
|
1207 |
"autoload": {
|
@@ -1229,7 +1406,7 @@
|
|
1229 |
],
|
1230 |
"description": "Provides functionality to recursively process PHP variables",
|
1231 |
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
1232 |
-
"time": "
|
1233 |
},
|
1234 |
{
|
1235 |
"name": "sebastian/resource-operations",
|
@@ -1271,20 +1448,20 @@
|
|
1271 |
],
|
1272 |
"description": "Provides a list of PHP built-in functions that operate on resources",
|
1273 |
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
1274 |
-
"time": "2015-07-
|
1275 |
},
|
1276 |
{
|
1277 |
"name": "sebastian/version",
|
1278 |
-
"version": "2.0.
|
1279 |
"source": {
|
1280 |
"type": "git",
|
1281 |
"url": "https://github.com/sebastianbergmann/version.git",
|
1282 |
-
"reference": "
|
1283 |
},
|
1284 |
"dist": {
|
1285 |
"type": "zip",
|
1286 |
-
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/
|
1287 |
-
"reference": "
|
1288 |
"shasum": ""
|
1289 |
},
|
1290 |
"require": {
|
@@ -1314,29 +1491,35 @@
|
|
1314 |
],
|
1315 |
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
1316 |
"homepage": "https://github.com/sebastianbergmann/version",
|
1317 |
-
"time": "2016-
|
1318 |
},
|
1319 |
{
|
1320 |
"name": "symfony/yaml",
|
1321 |
-
"version": "v3.
|
1322 |
"source": {
|
1323 |
"type": "git",
|
1324 |
"url": "https://github.com/symfony/yaml.git",
|
1325 |
-
"reference": "
|
1326 |
},
|
1327 |
"dist": {
|
1328 |
"type": "zip",
|
1329 |
-
"url": "https://api.github.com/repos/symfony/yaml/zipball/
|
1330 |
-
"reference": "
|
1331 |
"shasum": ""
|
1332 |
},
|
1333 |
"require": {
|
1334 |
-
"php": "
|
|
|
|
|
|
|
|
|
|
|
|
|
1335 |
},
|
1336 |
"type": "library",
|
1337 |
"extra": {
|
1338 |
"branch-alias": {
|
1339 |
-
"dev-master": "3.
|
1340 |
}
|
1341 |
},
|
1342 |
"autoload": {
|
@@ -1363,7 +1546,57 @@
|
|
1363 |
],
|
1364 |
"description": "Symfony Yaml Component",
|
1365 |
"homepage": "https://symfony.com",
|
1366 |
-
"time": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1367 |
}
|
1368 |
],
|
1369 |
"aliases": [],
|
4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
+
"content-hash": "975fa7e89f33924a53e61aef52eaa5e3",
|
|
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "firebase/php-jwt",
|
11 |
+
"version": "v5.0.0",
|
12 |
"source": {
|
13 |
"type": "git",
|
14 |
"url": "https://github.com/firebase/php-jwt.git",
|
15 |
+
"reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e"
|
16 |
},
|
17 |
"dist": {
|
18 |
"type": "zip",
|
19 |
+
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/9984a4d3a32ae7673d6971ea00bae9d0a1abba0e",
|
20 |
+
"reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e",
|
21 |
"shasum": ""
|
22 |
},
|
23 |
"require": {
|
24 |
"php": ">=5.3.0"
|
25 |
},
|
26 |
+
"require-dev": {
|
27 |
+
"phpunit/phpunit": " 4.8.35"
|
28 |
+
},
|
29 |
"type": "library",
|
30 |
"autoload": {
|
31 |
"psr-4": {
|
50 |
],
|
51 |
"description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
|
52 |
"homepage": "https://github.com/firebase/php-jwt",
|
53 |
+
"time": "2017-06-27T22:17:23+00:00"
|
54 |
}
|
55 |
],
|
56 |
"packages-dev": [
|
57 |
{
|
58 |
"name": "doctrine/instantiator",
|
59 |
+
"version": "1.1.0",
|
60 |
"source": {
|
61 |
"type": "git",
|
62 |
"url": "https://github.com/doctrine/instantiator.git",
|
63 |
+
"reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
|
64 |
},
|
65 |
"dist": {
|
66 |
"type": "zip",
|
67 |
+
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
|
68 |
+
"reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
|
69 |
"shasum": ""
|
70 |
},
|
71 |
"require": {
|
72 |
+
"php": "^7.1"
|
73 |
},
|
74 |
"require-dev": {
|
75 |
"athletic/athletic": "~0.1.8",
|
76 |
"ext-pdo": "*",
|
77 |
"ext-phar": "*",
|
78 |
+
"phpunit/phpunit": "^6.2.3",
|
79 |
+
"squizlabs/php_codesniffer": "^3.0.2"
|
80 |
},
|
81 |
"type": "library",
|
82 |
"extra": {
|
83 |
"branch-alias": {
|
84 |
+
"dev-master": "1.2.x-dev"
|
85 |
}
|
86 |
},
|
87 |
"autoload": {
|
106 |
"constructor",
|
107 |
"instantiate"
|
108 |
],
|
109 |
+
"time": "2017-07-22T11:58:36+00:00"
|
110 |
},
|
111 |
{
|
112 |
"name": "guzzlehttp/guzzle",
|
113 |
+
"version": "6.3.0",
|
114 |
"source": {
|
115 |
"type": "git",
|
116 |
"url": "https://github.com/guzzle/guzzle.git",
|
117 |
+
"reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
|
118 |
},
|
119 |
"dist": {
|
120 |
"type": "zip",
|
121 |
+
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
|
122 |
+
"reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
|
123 |
"shasum": ""
|
124 |
},
|
125 |
"require": {
|
126 |
+
"guzzlehttp/promises": "^1.0",
|
127 |
+
"guzzlehttp/psr7": "^1.4",
|
128 |
+
"php": ">=5.5"
|
129 |
},
|
130 |
"require-dev": {
|
131 |
"ext-curl": "*",
|
132 |
+
"phpunit/phpunit": "^4.0 || ^5.0",
|
133 |
+
"psr/log": "^1.0"
|
134 |
+
},
|
135 |
+
"suggest": {
|
136 |
+
"psr/log": "Required for using the Log middleware"
|
137 |
},
|
138 |
"type": "library",
|
139 |
"extra": {
|
140 |
"branch-alias": {
|
141 |
+
"dev-master": "6.2-dev"
|
142 |
}
|
143 |
},
|
144 |
"autoload": {
|
171 |
"rest",
|
172 |
"web service"
|
173 |
],
|
174 |
+
"time": "2017-06-22T18:50:49+00:00"
|
175 |
},
|
176 |
{
|
177 |
"name": "guzzlehttp/promises",
|
178 |
+
"version": "v1.3.1",
|
179 |
"source": {
|
180 |
"type": "git",
|
181 |
"url": "https://github.com/guzzle/promises.git",
|
182 |
+
"reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
|
183 |
},
|
184 |
"dist": {
|
185 |
"type": "zip",
|
186 |
+
"url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
|
187 |
+
"reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
|
188 |
"shasum": ""
|
189 |
},
|
190 |
"require": {
|
191 |
"php": ">=5.5.0"
|
192 |
},
|
193 |
"require-dev": {
|
194 |
+
"phpunit/phpunit": "^4.0"
|
195 |
},
|
196 |
"type": "library",
|
197 |
"extra": {
|
198 |
"branch-alias": {
|
199 |
+
"dev-master": "1.4-dev"
|
200 |
}
|
201 |
},
|
202 |
"autoload": {
|
222 |
"keywords": [
|
223 |
"promise"
|
224 |
],
|
225 |
+
"time": "2016-12-20T10:07:11+00:00"
|
226 |
},
|
227 |
{
|
228 |
"name": "guzzlehttp/psr7",
|
229 |
+
"version": "1.4.2",
|
230 |
"source": {
|
231 |
"type": "git",
|
232 |
"url": "https://github.com/guzzle/psr7.git",
|
233 |
+
"reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
|
234 |
},
|
235 |
"dist": {
|
236 |
"type": "zip",
|
237 |
+
"url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
|
238 |
+
"reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
|
239 |
"shasum": ""
|
240 |
},
|
241 |
"require": {
|
251 |
"type": "library",
|
252 |
"extra": {
|
253 |
"branch-alias": {
|
254 |
+
"dev-master": "1.4-dev"
|
255 |
}
|
256 |
},
|
257 |
"autoload": {
|
271 |
"name": "Michael Dowling",
|
272 |
"email": "mtdowling@gmail.com",
|
273 |
"homepage": "https://github.com/mtdowling"
|
274 |
+
},
|
275 |
+
{
|
276 |
+
"name": "Tobias Schultze",
|
277 |
+
"homepage": "https://github.com/Tobion"
|
278 |
}
|
279 |
],
|
280 |
+
"description": "PSR-7 message implementation that also provides common utility methods",
|
281 |
"keywords": [
|
282 |
"http",
|
283 |
"message",
|
284 |
+
"request",
|
285 |
+
"response",
|
286 |
"stream",
|
287 |
+
"uri",
|
288 |
+
"url"
|
289 |
],
|
290 |
+
"time": "2017-03-20T17:10:46+00:00"
|
291 |
},
|
292 |
{
|
293 |
"name": "myclabs/deep-copy",
|
294 |
+
"version": "1.6.1",
|
295 |
"source": {
|
296 |
"type": "git",
|
297 |
"url": "https://github.com/myclabs/DeepCopy.git",
|
298 |
+
"reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102"
|
299 |
},
|
300 |
"dist": {
|
301 |
"type": "zip",
|
302 |
+
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102",
|
303 |
+
"reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102",
|
304 |
"shasum": ""
|
305 |
},
|
306 |
"require": {
|
329 |
"object",
|
330 |
"object graph"
|
331 |
],
|
332 |
+
"time": "2017-04-12T18:52:22+00:00"
|
333 |
+
},
|
334 |
+
{
|
335 |
+
"name": "phpdocumentor/reflection-common",
|
336 |
+
"version": "1.0",
|
337 |
+
"source": {
|
338 |
+
"type": "git",
|
339 |
+
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
|
340 |
+
"reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c"
|
341 |
+
},
|
342 |
+
"dist": {
|
343 |
+
"type": "zip",
|
344 |
+
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
|
345 |
+
"reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
|
346 |
+
"shasum": ""
|
347 |
+
},
|
348 |
+
"require": {
|
349 |
+
"php": ">=5.5"
|
350 |
+
},
|
351 |
+
"require-dev": {
|
352 |
+
"phpunit/phpunit": "^4.6"
|
353 |
+
},
|
354 |
+
"type": "library",
|
355 |
+
"extra": {
|
356 |
+
"branch-alias": {
|
357 |
+
"dev-master": "1.0.x-dev"
|
358 |
+
}
|
359 |
+
},
|
360 |
+
"autoload": {
|
361 |
+
"psr-4": {
|
362 |
+
"phpDocumentor\\Reflection\\": [
|
363 |
+
"src"
|
364 |
+
]
|
365 |
+
}
|
366 |
+
},
|
367 |
+
"notification-url": "https://packagist.org/downloads/",
|
368 |
+
"license": [
|
369 |
+
"MIT"
|
370 |
+
],
|
371 |
+
"authors": [
|
372 |
+
{
|
373 |
+
"name": "Jaap van Otterdijk",
|
374 |
+
"email": "opensource@ijaap.nl"
|
375 |
+
}
|
376 |
+
],
|
377 |
+
"description": "Common reflection classes used by phpdocumentor to reflect the code structure",
|
378 |
+
"homepage": "http://www.phpdoc.org",
|
379 |
+
"keywords": [
|
380 |
+
"FQSEN",
|
381 |
+
"phpDocumentor",
|
382 |
+
"phpdoc",
|
383 |
+
"reflection",
|
384 |
+
"static analysis"
|
385 |
+
],
|
386 |
+
"time": "2015-12-27T11:43:31+00:00"
|
387 |
},
|
388 |
{
|
389 |
"name": "phpdocumentor/reflection-docblock",
|
390 |
+
"version": "4.1.1",
|
391 |
"source": {
|
392 |
"type": "git",
|
393 |
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
394 |
+
"reference": "2d3d238c433cf69caeb4842e97a3223a116f94b2"
|
395 |
},
|
396 |
"dist": {
|
397 |
"type": "zip",
|
398 |
+
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/2d3d238c433cf69caeb4842e97a3223a116f94b2",
|
399 |
+
"reference": "2d3d238c433cf69caeb4842e97a3223a116f94b2",
|
400 |
"shasum": ""
|
401 |
},
|
402 |
"require": {
|
403 |
+
"php": "^7.0",
|
404 |
+
"phpdocumentor/reflection-common": "^1.0@dev",
|
405 |
+
"phpdocumentor/type-resolver": "^0.4.0",
|
406 |
+
"webmozart/assert": "^1.0"
|
407 |
},
|
408 |
"require-dev": {
|
409 |
+
"mockery/mockery": "^0.9.4",
|
410 |
+
"phpunit/phpunit": "^4.4"
|
411 |
},
|
412 |
+
"type": "library",
|
413 |
+
"autoload": {
|
414 |
+
"psr-4": {
|
415 |
+
"phpDocumentor\\Reflection\\": [
|
416 |
+
"src/"
|
417 |
+
]
|
418 |
+
}
|
419 |
+
},
|
420 |
+
"notification-url": "https://packagist.org/downloads/",
|
421 |
+
"license": [
|
422 |
+
"MIT"
|
423 |
+
],
|
424 |
+
"authors": [
|
425 |
+
{
|
426 |
+
"name": "Mike van Riel",
|
427 |
+
"email": "me@mikevanriel.com"
|
428 |
+
}
|
429 |
+
],
|
430 |
+
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
431 |
+
"time": "2017-08-30T18:51:59+00:00"
|
432 |
+
},
|
433 |
+
{
|
434 |
+
"name": "phpdocumentor/type-resolver",
|
435 |
+
"version": "0.4.0",
|
436 |
+
"source": {
|
437 |
+
"type": "git",
|
438 |
+
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
439 |
+
"reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
|
440 |
+
},
|
441 |
+
"dist": {
|
442 |
+
"type": "zip",
|
443 |
+
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
|
444 |
+
"reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
|
445 |
+
"shasum": ""
|
446 |
+
},
|
447 |
+
"require": {
|
448 |
+
"php": "^5.5 || ^7.0",
|
449 |
+
"phpdocumentor/reflection-common": "^1.0"
|
450 |
+
},
|
451 |
+
"require-dev": {
|
452 |
+
"mockery/mockery": "^0.9.4",
|
453 |
+
"phpunit/phpunit": "^5.2||^4.8.24"
|
454 |
},
|
455 |
"type": "library",
|
456 |
"extra": {
|
457 |
"branch-alias": {
|
458 |
+
"dev-master": "1.0.x-dev"
|
459 |
}
|
460 |
},
|
461 |
"autoload": {
|
462 |
+
"psr-4": {
|
463 |
+
"phpDocumentor\\Reflection\\": [
|
464 |
"src/"
|
465 |
]
|
466 |
}
|
472 |
"authors": [
|
473 |
{
|
474 |
"name": "Mike van Riel",
|
475 |
+
"email": "me@mikevanriel.com"
|
476 |
}
|
477 |
],
|
478 |
+
"time": "2017-07-14T14:27:02+00:00"
|
479 |
},
|
480 |
{
|
481 |
"name": "phpspec/prophecy",
|
482 |
+
"version": "v1.7.2",
|
483 |
"source": {
|
484 |
"type": "git",
|
485 |
"url": "https://github.com/phpspec/prophecy.git",
|
486 |
+
"reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6"
|
487 |
},
|
488 |
"dist": {
|
489 |
"type": "zip",
|
490 |
+
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6",
|
491 |
+
"reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6",
|
492 |
"shasum": ""
|
493 |
},
|
494 |
"require": {
|
495 |
"doctrine/instantiator": "^1.0.2",
|
496 |
"php": "^5.3|^7.0",
|
497 |
+
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
|
498 |
+
"sebastian/comparator": "^1.1|^2.0",
|
499 |
+
"sebastian/recursion-context": "^1.0|^2.0|^3.0"
|
500 |
},
|
501 |
"require-dev": {
|
502 |
+
"phpspec/phpspec": "^2.5|^3.2",
|
503 |
+
"phpunit/phpunit": "^4.8 || ^5.6.5"
|
504 |
},
|
505 |
"type": "library",
|
506 |
"extra": {
|
507 |
"branch-alias": {
|
508 |
+
"dev-master": "1.7.x-dev"
|
509 |
}
|
510 |
},
|
511 |
"autoload": {
|
538 |
"spy",
|
539 |
"stub"
|
540 |
],
|
541 |
+
"time": "2017-09-04T11:05:03+00:00"
|
542 |
},
|
543 |
{
|
544 |
"name": "phpunit/php-code-coverage",
|
545 |
+
"version": "4.0.8",
|
546 |
"source": {
|
547 |
"type": "git",
|
548 |
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
549 |
+
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d"
|
550 |
},
|
551 |
"dist": {
|
552 |
"type": "zip",
|
553 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
|
554 |
+
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
|
555 |
"shasum": ""
|
556 |
},
|
557 |
"require": {
|
558 |
+
"ext-dom": "*",
|
559 |
+
"ext-xmlwriter": "*",
|
560 |
"php": "^5.6 || ^7.0",
|
561 |
+
"phpunit/php-file-iterator": "^1.3",
|
562 |
+
"phpunit/php-text-template": "^1.2",
|
563 |
+
"phpunit/php-token-stream": "^1.4.2 || ^2.0",
|
564 |
+
"sebastian/code-unit-reverse-lookup": "^1.0",
|
565 |
+
"sebastian/environment": "^1.3.2 || ^2.0",
|
566 |
+
"sebastian/version": "^1.0 || ^2.0"
|
567 |
},
|
568 |
"require-dev": {
|
569 |
+
"ext-xdebug": "^2.1.4",
|
570 |
+
"phpunit/phpunit": "^5.7"
|
571 |
},
|
572 |
"suggest": {
|
573 |
+
"ext-xdebug": "^2.5.1"
|
|
|
|
|
574 |
},
|
575 |
"type": "library",
|
576 |
"extra": {
|
577 |
"branch-alias": {
|
578 |
+
"dev-master": "4.0.x-dev"
|
579 |
}
|
580 |
},
|
581 |
"autoload": {
|
601 |
"testing",
|
602 |
"xunit"
|
603 |
],
|
604 |
+
"time": "2017-04-02T07:44:40+00:00"
|
605 |
},
|
606 |
{
|
607 |
"name": "phpunit/php-file-iterator",
|
608 |
+
"version": "1.4.2",
|
609 |
"source": {
|
610 |
"type": "git",
|
611 |
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
|
612 |
+
"reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5"
|
613 |
},
|
614 |
"dist": {
|
615 |
"type": "zip",
|
616 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
|
617 |
+
"reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
|
618 |
"shasum": ""
|
619 |
},
|
620 |
"require": {
|
648 |
"filesystem",
|
649 |
"iterator"
|
650 |
],
|
651 |
+
"time": "2016-10-03T07:40:28+00:00"
|
652 |
},
|
653 |
{
|
654 |
"name": "phpunit/php-text-template",
|
689 |
"keywords": [
|
690 |
"template"
|
691 |
],
|
692 |
+
"time": "2015-06-21T13:50:34+00:00"
|
693 |
},
|
694 |
{
|
695 |
"name": "phpunit/php-timer",
|
696 |
+
"version": "1.0.9",
|
697 |
"source": {
|
698 |
"type": "git",
|
699 |
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
700 |
+
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
|
701 |
},
|
702 |
"dist": {
|
703 |
"type": "zip",
|
704 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
705 |
+
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
706 |
"shasum": ""
|
707 |
},
|
708 |
"require": {
|
709 |
+
"php": "^5.3.3 || ^7.0"
|
710 |
+
},
|
711 |
+
"require-dev": {
|
712 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
713 |
},
|
714 |
"type": "library",
|
715 |
+
"extra": {
|
716 |
+
"branch-alias": {
|
717 |
+
"dev-master": "1.0-dev"
|
718 |
+
}
|
719 |
+
},
|
720 |
"autoload": {
|
721 |
"classmap": [
|
722 |
"src/"
|
738 |
"keywords": [
|
739 |
"timer"
|
740 |
],
|
741 |
+
"time": "2017-02-26T11:10:40+00:00"
|
742 |
},
|
743 |
{
|
744 |
"name": "phpunit/php-token-stream",
|
745 |
+
"version": "2.0.1",
|
746 |
"source": {
|
747 |
"type": "git",
|
748 |
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
749 |
+
"reference": "9a02332089ac48e704c70f6cefed30c224e3c0b0"
|
750 |
},
|
751 |
"dist": {
|
752 |
"type": "zip",
|
753 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/9a02332089ac48e704c70f6cefed30c224e3c0b0",
|
754 |
+
"reference": "9a02332089ac48e704c70f6cefed30c224e3c0b0",
|
755 |
"shasum": ""
|
756 |
},
|
757 |
"require": {
|
758 |
"ext-tokenizer": "*",
|
759 |
+
"php": "^7.0"
|
760 |
},
|
761 |
"require-dev": {
|
762 |
+
"phpunit/phpunit": "^6.2.4"
|
763 |
},
|
764 |
"type": "library",
|
765 |
"extra": {
|
766 |
"branch-alias": {
|
767 |
+
"dev-master": "2.0-dev"
|
768 |
}
|
769 |
},
|
770 |
"autoload": {
|
787 |
"keywords": [
|
788 |
"tokenizer"
|
789 |
],
|
790 |
+
"time": "2017-08-20T05:47:52+00:00"
|
791 |
},
|
792 |
{
|
793 |
"name": "phpunit/phpunit",
|
794 |
+
"version": "5.7.21",
|
795 |
"source": {
|
796 |
"type": "git",
|
797 |
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
798 |
+
"reference": "3b91adfb64264ddec5a2dee9851f354aa66327db"
|
799 |
},
|
800 |
"dist": {
|
801 |
"type": "zip",
|
802 |
+
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3b91adfb64264ddec5a2dee9851f354aa66327db",
|
803 |
+
"reference": "3b91adfb64264ddec5a2dee9851f354aa66327db",
|
804 |
"shasum": ""
|
805 |
},
|
806 |
"require": {
|
807 |
"ext-dom": "*",
|
808 |
"ext-json": "*",
|
809 |
+
"ext-libxml": "*",
|
810 |
+
"ext-mbstring": "*",
|
811 |
+
"ext-xml": "*",
|
812 |
"myclabs/deep-copy": "~1.3",
|
813 |
"php": "^5.6 || ^7.0",
|
814 |
+
"phpspec/prophecy": "^1.6.2",
|
815 |
+
"phpunit/php-code-coverage": "^4.0.4",
|
816 |
"phpunit/php-file-iterator": "~1.4",
|
817 |
"phpunit/php-text-template": "~1.2",
|
818 |
+
"phpunit/php-timer": "^1.0.6",
|
819 |
+
"phpunit/phpunit-mock-objects": "^3.2",
|
820 |
+
"sebastian/comparator": "^1.2.4",
|
821 |
+
"sebastian/diff": "^1.4.3",
|
822 |
+
"sebastian/environment": "^1.3.4 || ^2.0",
|
823 |
+
"sebastian/exporter": "~2.0",
|
824 |
+
"sebastian/global-state": "^1.1",
|
825 |
+
"sebastian/object-enumerator": "~2.0",
|
826 |
"sebastian/resource-operations": "~1.0",
|
827 |
+
"sebastian/version": "~1.0.3|~2.0",
|
828 |
"symfony/yaml": "~2.1|~3.0"
|
829 |
},
|
830 |
+
"conflict": {
|
831 |
+
"phpdocumentor/reflection-docblock": "3.0.2"
|
832 |
+
},
|
833 |
+
"require-dev": {
|
834 |
+
"ext-pdo": "*"
|
835 |
+
},
|
836 |
"suggest": {
|
837 |
+
"ext-xdebug": "*",
|
838 |
"phpunit/php-invoker": "~1.1"
|
839 |
},
|
840 |
"bin": [
|
843 |
"type": "library",
|
844 |
"extra": {
|
845 |
"branch-alias": {
|
846 |
+
"dev-master": "5.7.x-dev"
|
847 |
}
|
848 |
},
|
849 |
"autoload": {
|
869 |
"testing",
|
870 |
"xunit"
|
871 |
],
|
872 |
+
"time": "2017-06-21T08:11:54+00:00"
|
873 |
},
|
874 |
{
|
875 |
"name": "phpunit/phpunit-mock-objects",
|
876 |
+
"version": "3.4.4",
|
877 |
"source": {
|
878 |
"type": "git",
|
879 |
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
|
880 |
+
"reference": "a23b761686d50a560cc56233b9ecf49597cc9118"
|
881 |
},
|
882 |
"dist": {
|
883 |
"type": "zip",
|
884 |
+
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118",
|
885 |
+
"reference": "a23b761686d50a560cc56233b9ecf49597cc9118",
|
886 |
"shasum": ""
|
887 |
},
|
888 |
"require": {
|
889 |
"doctrine/instantiator": "^1.0.2",
|
890 |
+
"php": "^5.6 || ^7.0",
|
891 |
+
"phpunit/php-text-template": "^1.2",
|
892 |
+
"sebastian/exporter": "^1.2 || ^2.0"
|
893 |
+
},
|
894 |
+
"conflict": {
|
895 |
+
"phpunit/phpunit": "<5.4.0"
|
896 |
},
|
897 |
"require-dev": {
|
898 |
+
"phpunit/phpunit": "^5.4"
|
899 |
},
|
900 |
"suggest": {
|
901 |
"ext-soap": "*"
|
903 |
"type": "library",
|
904 |
"extra": {
|
905 |
"branch-alias": {
|
906 |
+
"dev-master": "3.2.x-dev"
|
907 |
}
|
908 |
},
|
909 |
"autoload": {
|
928 |
"mock",
|
929 |
"xunit"
|
930 |
],
|
931 |
+
"time": "2017-06-30T09:13:00+00:00"
|
932 |
},
|
933 |
{
|
934 |
"name": "psr/http-message",
|
935 |
+
"version": "1.0.1",
|
936 |
"source": {
|
937 |
"type": "git",
|
938 |
"url": "https://github.com/php-fig/http-message.git",
|
939 |
+
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
|
940 |
},
|
941 |
"dist": {
|
942 |
"type": "zip",
|
943 |
+
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
|
944 |
+
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
|
945 |
"shasum": ""
|
946 |
},
|
947 |
"require": {
|
969 |
}
|
970 |
],
|
971 |
"description": "Common interface for HTTP messages",
|
972 |
+
"homepage": "https://github.com/php-fig/http-message",
|
973 |
"keywords": [
|
974 |
"http",
|
975 |
"http-message",
|
978 |
"request",
|
979 |
"response"
|
980 |
],
|
981 |
+
"time": "2016-08-06T14:39:51+00:00"
|
982 |
},
|
983 |
{
|
984 |
"name": "sebastian/code-unit-reverse-lookup",
|
985 |
+
"version": "1.0.1",
|
986 |
"source": {
|
987 |
"type": "git",
|
988 |
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
|
989 |
+
"reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
|
990 |
},
|
991 |
"dist": {
|
992 |
"type": "zip",
|
993 |
+
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
|
994 |
+
"reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
|
995 |
"shasum": ""
|
996 |
},
|
997 |
"require": {
|
998 |
+
"php": "^5.6 || ^7.0"
|
999 |
},
|
1000 |
"require-dev": {
|
1001 |
+
"phpunit/phpunit": "^5.7 || ^6.0"
|
1002 |
},
|
1003 |
"type": "library",
|
1004 |
"extra": {
|
1023 |
],
|
1024 |
"description": "Looks up which function or method a line of code belongs to",
|
1025 |
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
1026 |
+
"time": "2017-03-04T06:30:41+00:00"
|
1027 |
},
|
1028 |
{
|
1029 |
"name": "sebastian/comparator",
|
1030 |
+
"version": "1.2.4",
|
1031 |
"source": {
|
1032 |
"type": "git",
|
1033 |
"url": "https://github.com/sebastianbergmann/comparator.git",
|
1034 |
+
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
|
1035 |
},
|
1036 |
"dist": {
|
1037 |
"type": "zip",
|
1038 |
+
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
1039 |
+
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
1040 |
"shasum": ""
|
1041 |
},
|
1042 |
"require": {
|
1043 |
"php": ">=5.3.3",
|
1044 |
"sebastian/diff": "~1.2",
|
1045 |
+
"sebastian/exporter": "~1.2 || ~2.0"
|
1046 |
},
|
1047 |
"require-dev": {
|
1048 |
"phpunit/phpunit": "~4.4"
|
1087 |
"compare",
|
1088 |
"equality"
|
1089 |
],
|
1090 |
+
"time": "2017-01-29T09:50:25+00:00"
|
1091 |
},
|
1092 |
{
|
1093 |
"name": "sebastian/diff",
|
1094 |
+
"version": "1.4.3",
|
1095 |
"source": {
|
1096 |
"type": "git",
|
1097 |
"url": "https://github.com/sebastianbergmann/diff.git",
|
1098 |
+
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
|
1099 |
},
|
1100 |
"dist": {
|
1101 |
"type": "zip",
|
1102 |
+
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
1103 |
+
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
1104 |
"shasum": ""
|
1105 |
},
|
1106 |
"require": {
|
1107 |
+
"php": "^5.3.3 || ^7.0"
|
1108 |
},
|
1109 |
"require-dev": {
|
1110 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
1111 |
},
|
1112 |
"type": "library",
|
1113 |
"extra": {
|
1139 |
"keywords": [
|
1140 |
"diff"
|
1141 |
],
|
1142 |
+
"time": "2017-05-22T07:24:03+00:00"
|
1143 |
},
|
1144 |
{
|
1145 |
"name": "sebastian/environment",
|
1146 |
+
"version": "2.0.0",
|
1147 |
"source": {
|
1148 |
"type": "git",
|
1149 |
"url": "https://github.com/sebastianbergmann/environment.git",
|
1150 |
+
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac"
|
1151 |
},
|
1152 |
"dist": {
|
1153 |
"type": "zip",
|
1154 |
+
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
|
1155 |
+
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
|
1156 |
"shasum": ""
|
1157 |
},
|
1158 |
"require": {
|
1159 |
+
"php": "^5.6 || ^7.0"
|
1160 |
},
|
1161 |
"require-dev": {
|
1162 |
+
"phpunit/phpunit": "^5.0"
|
1163 |
},
|
1164 |
"type": "library",
|
1165 |
"extra": {
|
1166 |
"branch-alias": {
|
1167 |
+
"dev-master": "2.0.x-dev"
|
1168 |
}
|
1169 |
},
|
1170 |
"autoload": {
|
1189 |
"environment",
|
1190 |
"hhvm"
|
1191 |
],
|
1192 |
+
"time": "2016-11-26T07:53:53+00:00"
|
1193 |
},
|
1194 |
{
|
1195 |
"name": "sebastian/exporter",
|
1196 |
+
"version": "2.0.0",
|
1197 |
"source": {
|
1198 |
"type": "git",
|
1199 |
"url": "https://github.com/sebastianbergmann/exporter.git",
|
1200 |
+
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4"
|
1201 |
},
|
1202 |
"dist": {
|
1203 |
"type": "zip",
|
1204 |
+
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
|
1205 |
+
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
|
1206 |
"shasum": ""
|
1207 |
},
|
1208 |
"require": {
|
1209 |
"php": ">=5.3.3",
|
1210 |
+
"sebastian/recursion-context": "~2.0"
|
1211 |
},
|
1212 |
"require-dev": {
|
1213 |
+
"ext-mbstring": "*",
|
1214 |
"phpunit/phpunit": "~4.4"
|
1215 |
},
|
1216 |
"type": "library",
|
1217 |
"extra": {
|
1218 |
"branch-alias": {
|
1219 |
+
"dev-master": "2.0.x-dev"
|
1220 |
}
|
1221 |
},
|
1222 |
"autoload": {
|
1256 |
"export",
|
1257 |
"exporter"
|
1258 |
],
|
1259 |
+
"time": "2016-11-19T08:54:04+00:00"
|
1260 |
},
|
1261 |
{
|
1262 |
"name": "sebastian/global-state",
|
1307 |
"keywords": [
|
1308 |
"global state"
|
1309 |
],
|
1310 |
+
"time": "2015-10-12T03:26:01+00:00"
|
1311 |
+
},
|
1312 |
+
{
|
1313 |
+
"name": "sebastian/object-enumerator",
|
1314 |
+
"version": "2.0.1",
|
1315 |
+
"source": {
|
1316 |
+
"type": "git",
|
1317 |
+
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
|
1318 |
+
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7"
|
1319 |
+
},
|
1320 |
+
"dist": {
|
1321 |
+
"type": "zip",
|
1322 |
+
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7",
|
1323 |
+
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7",
|
1324 |
+
"shasum": ""
|
1325 |
+
},
|
1326 |
+
"require": {
|
1327 |
+
"php": ">=5.6",
|
1328 |
+
"sebastian/recursion-context": "~2.0"
|
1329 |
+
},
|
1330 |
+
"require-dev": {
|
1331 |
+
"phpunit/phpunit": "~5"
|
1332 |
+
},
|
1333 |
+
"type": "library",
|
1334 |
+
"extra": {
|
1335 |
+
"branch-alias": {
|
1336 |
+
"dev-master": "2.0.x-dev"
|
1337 |
+
}
|
1338 |
+
},
|
1339 |
+
"autoload": {
|
1340 |
+
"classmap": [
|
1341 |
+
"src/"
|
1342 |
+
]
|
1343 |
+
},
|
1344 |
+
"notification-url": "https://packagist.org/downloads/",
|
1345 |
+
"license": [
|
1346 |
+
"BSD-3-Clause"
|
1347 |
+
],
|
1348 |
+
"authors": [
|
1349 |
+
{
|
1350 |
+
"name": "Sebastian Bergmann",
|
1351 |
+
"email": "sebastian@phpunit.de"
|
1352 |
+
}
|
1353 |
+
],
|
1354 |
+
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
1355 |
+
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
1356 |
+
"time": "2017-02-18T15:18:39+00:00"
|
1357 |
},
|
1358 |
{
|
1359 |
"name": "sebastian/recursion-context",
|
1360 |
+
"version": "2.0.0",
|
1361 |
"source": {
|
1362 |
"type": "git",
|
1363 |
"url": "https://github.com/sebastianbergmann/recursion-context.git",
|
1364 |
+
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a"
|
1365 |
},
|
1366 |
"dist": {
|
1367 |
"type": "zip",
|
1368 |
+
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
|
1369 |
+
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
|
1370 |
"shasum": ""
|
1371 |
},
|
1372 |
"require": {
|
1378 |
"type": "library",
|
1379 |
"extra": {
|
1380 |
"branch-alias": {
|
1381 |
+
"dev-master": "2.0.x-dev"
|
1382 |
}
|
1383 |
},
|
1384 |
"autoload": {
|
1406 |
],
|
1407 |
"description": "Provides functionality to recursively process PHP variables",
|
1408 |
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
1409 |
+
"time": "2016-11-19T07:33:16+00:00"
|
1410 |
},
|
1411 |
{
|
1412 |
"name": "sebastian/resource-operations",
|
1448 |
],
|
1449 |
"description": "Provides a list of PHP built-in functions that operate on resources",
|
1450 |
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
1451 |
+
"time": "2015-07-28T20:34:47+00:00"
|
1452 |
},
|
1453 |
{
|
1454 |
"name": "sebastian/version",
|
1455 |
+
"version": "2.0.1",
|
1456 |
"source": {
|
1457 |
"type": "git",
|
1458 |
"url": "https://github.com/sebastianbergmann/version.git",
|
1459 |
+
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
|
1460 |
},
|
1461 |
"dist": {
|
1462 |
"type": "zip",
|
1463 |
+
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
|
1464 |
+
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
|
1465 |
"shasum": ""
|
1466 |
},
|
1467 |
"require": {
|
1491 |
],
|
1492 |
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
1493 |
"homepage": "https://github.com/sebastianbergmann/version",
|
1494 |
+
"time": "2016-10-03T07:35:21+00:00"
|
1495 |
},
|
1496 |
{
|
1497 |
"name": "symfony/yaml",
|
1498 |
+
"version": "v3.3.8",
|
1499 |
"source": {
|
1500 |
"type": "git",
|
1501 |
"url": "https://github.com/symfony/yaml.git",
|
1502 |
+
"reference": "1d8c2a99c80862bdc3af94c1781bf70f86bccac0"
|
1503 |
},
|
1504 |
"dist": {
|
1505 |
"type": "zip",
|
1506 |
+
"url": "https://api.github.com/repos/symfony/yaml/zipball/1d8c2a99c80862bdc3af94c1781bf70f86bccac0",
|
1507 |
+
"reference": "1d8c2a99c80862bdc3af94c1781bf70f86bccac0",
|
1508 |
"shasum": ""
|
1509 |
},
|
1510 |
"require": {
|
1511 |
+
"php": "^5.5.9|>=7.0.8"
|
1512 |
+
},
|
1513 |
+
"require-dev": {
|
1514 |
+
"symfony/console": "~2.8|~3.0"
|
1515 |
+
},
|
1516 |
+
"suggest": {
|
1517 |
+
"symfony/console": "For validating YAML files using the lint command"
|
1518 |
},
|
1519 |
"type": "library",
|
1520 |
"extra": {
|
1521 |
"branch-alias": {
|
1522 |
+
"dev-master": "3.3-dev"
|
1523 |
}
|
1524 |
},
|
1525 |
"autoload": {
|
1546 |
],
|
1547 |
"description": "Symfony Yaml Component",
|
1548 |
"homepage": "https://symfony.com",
|
1549 |
+
"time": "2017-07-29T21:54:42+00:00"
|
1550 |
+
},
|
1551 |
+
{
|
1552 |
+
"name": "webmozart/assert",
|
1553 |
+
"version": "1.2.0",
|
1554 |
+
"source": {
|
1555 |
+
"type": "git",
|
1556 |
+
"url": "https://github.com/webmozart/assert.git",
|
1557 |
+
"reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f"
|
1558 |
+
},
|
1559 |
+
"dist": {
|
1560 |
+
"type": "zip",
|
1561 |
+
"url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f",
|
1562 |
+
"reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
|
1563 |
+
"shasum": ""
|
1564 |
+
},
|
1565 |
+
"require": {
|
1566 |
+
"php": "^5.3.3 || ^7.0"
|
1567 |
+
},
|
1568 |
+
"require-dev": {
|
1569 |
+
"phpunit/phpunit": "^4.6",
|
1570 |
+
"sebastian/version": "^1.0.1"
|
1571 |
+
},
|
1572 |
+
"type": "library",
|
1573 |
+
"extra": {
|
1574 |
+
"branch-alias": {
|
1575 |
+
"dev-master": "1.3-dev"
|
1576 |
+
}
|
1577 |
+
},
|
1578 |
+
"autoload": {
|
1579 |
+
"psr-4": {
|
1580 |
+
"Webmozart\\Assert\\": "src/"
|
1581 |
+
}
|
1582 |
+
},
|
1583 |
+
"notification-url": "https://packagist.org/downloads/",
|
1584 |
+
"license": [
|
1585 |
+
"MIT"
|
1586 |
+
],
|
1587 |
+
"authors": [
|
1588 |
+
{
|
1589 |
+
"name": "Bernhard Schussek",
|
1590 |
+
"email": "bschussek@gmail.com"
|
1591 |
+
}
|
1592 |
+
],
|
1593 |
+
"description": "Assertions to validate method input/output with nice error messages.",
|
1594 |
+
"keywords": [
|
1595 |
+
"assert",
|
1596 |
+
"check",
|
1597 |
+
"validate"
|
1598 |
+
],
|
1599 |
+
"time": "2016-11-23T20:04:58+00:00"
|
1600 |
}
|
1601 |
],
|
1602 |
"aliases": [],
|
includes/vendor/autoload.php
CHANGED
@@ -2,6 +2,6 @@
|
|
2 |
|
3 |
// autoload.php @generated by Composer
|
4 |
|
5 |
-
require_once __DIR__ . '/composer
|
6 |
|
7 |
return ComposerAutoloaderInit6ba6ee55693d165c056f65e51c5383a5::getLoader();
|
2 |
|
3 |
// autoload.php @generated by Composer
|
4 |
|
5 |
+
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
return ComposerAutoloaderInit6ba6ee55693d165c056f65e51c5383a5::getLoader();
|
includes/vendor/composer/ClassLoader.php
CHANGED
@@ -53,8 +53,9 @@ class ClassLoader
|
|
53 |
|
54 |
private $useIncludePath = false;
|
55 |
private $classMap = array();
|
56 |
-
|
57 |
private $classMapAuthoritative = false;
|
|
|
|
|
58 |
|
59 |
public function getPrefixes()
|
60 |
{
|
@@ -271,6 +272,26 @@ class ClassLoader
|
|
271 |
return $this->classMapAuthoritative;
|
272 |
}
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
/**
|
275 |
* Registers this instance as an autoloader.
|
276 |
*
|
@@ -313,29 +334,34 @@ class ClassLoader
|
|
313 |
*/
|
314 |
public function findFile($class)
|
315 |
{
|
316 |
-
// work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
|
317 |
-
if ('\\' == $class[0]) {
|
318 |
-
$class = substr($class, 1);
|
319 |
-
}
|
320 |
-
|
321 |
// class map lookup
|
322 |
if (isset($this->classMap[$class])) {
|
323 |
return $this->classMap[$class];
|
324 |
}
|
325 |
-
if ($this->classMapAuthoritative) {
|
326 |
return false;
|
327 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
|
329 |
$file = $this->findFileWithExtension($class, '.php');
|
330 |
|
331 |
// Search for Hack files if we are running on HHVM
|
332 |
-
if (
|
333 |
$file = $this->findFileWithExtension($class, '.hh');
|
334 |
}
|
335 |
|
336 |
-
if (
|
|
|
|
|
|
|
|
|
337 |
// Remember that this class does not exist.
|
338 |
-
|
339 |
}
|
340 |
|
341 |
return $file;
|
@@ -348,9 +374,13 @@ class ClassLoader
|
|
348 |
|
349 |
$first = $class[0];
|
350 |
if (isset($this->prefixLengthsPsr4[$first])) {
|
351 |
-
|
352 |
-
|
353 |
-
|
|
|
|
|
|
|
|
|
354 |
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
355 |
return $file;
|
356 |
}
|
@@ -399,6 +429,8 @@ class ClassLoader
|
|
399 |
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
400 |
return $file;
|
401 |
}
|
|
|
|
|
402 |
}
|
403 |
}
|
404 |
|
53 |
|
54 |
private $useIncludePath = false;
|
55 |
private $classMap = array();
|
|
|
56 |
private $classMapAuthoritative = false;
|
57 |
+
private $missingClasses = array();
|
58 |
+
private $apcuPrefix;
|
59 |
|
60 |
public function getPrefixes()
|
61 |
{
|
272 |
return $this->classMapAuthoritative;
|
273 |
}
|
274 |
|
275 |
+
/**
|
276 |
+
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
277 |
+
*
|
278 |
+
* @param string|null $apcuPrefix
|
279 |
+
*/
|
280 |
+
public function setApcuPrefix($apcuPrefix)
|
281 |
+
{
|
282 |
+
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
|
283 |
+
}
|
284 |
+
|
285 |
+
/**
|
286 |
+
* The APCu prefix in use, or null if APCu caching is not enabled.
|
287 |
+
*
|
288 |
+
* @return string|null
|
289 |
+
*/
|
290 |
+
public function getApcuPrefix()
|
291 |
+
{
|
292 |
+
return $this->apcuPrefix;
|
293 |
+
}
|
294 |
+
|
295 |
/**
|
296 |
* Registers this instance as an autoloader.
|
297 |
*
|
334 |
*/
|
335 |
public function findFile($class)
|
336 |
{
|
|
|
|
|
|
|
|
|
|
|
337 |
// class map lookup
|
338 |
if (isset($this->classMap[$class])) {
|
339 |
return $this->classMap[$class];
|
340 |
}
|
341 |
+
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
342 |
return false;
|
343 |
}
|
344 |
+
if (null !== $this->apcuPrefix) {
|
345 |
+
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
346 |
+
if ($hit) {
|
347 |
+
return $file;
|
348 |
+
}
|
349 |
+
}
|
350 |
|
351 |
$file = $this->findFileWithExtension($class, '.php');
|
352 |
|
353 |
// Search for Hack files if we are running on HHVM
|
354 |
+
if (false === $file && defined('HHVM_VERSION')) {
|
355 |
$file = $this->findFileWithExtension($class, '.hh');
|
356 |
}
|
357 |
|
358 |
+
if (null !== $this->apcuPrefix) {
|
359 |
+
apcu_add($this->apcuPrefix.$class, $file);
|
360 |
+
}
|
361 |
+
|
362 |
+
if (false === $file) {
|
363 |
// Remember that this class does not exist.
|
364 |
+
$this->missingClasses[$class] = true;
|
365 |
}
|
366 |
|
367 |
return $file;
|
374 |
|
375 |
$first = $class[0];
|
376 |
if (isset($this->prefixLengthsPsr4[$first])) {
|
377 |
+
$subPath = $class;
|
378 |
+
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
379 |
+
$subPath = substr($subPath, 0, $lastPos);
|
380 |
+
$search = $subPath.'\\';
|
381 |
+
if (isset($this->prefixDirsPsr4[$search])) {
|
382 |
+
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
383 |
+
$length = $this->prefixLengthsPsr4[$first][$search];
|
384 |
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
385 |
return $file;
|
386 |
}
|
429 |
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
430 |
return $file;
|
431 |
}
|
432 |
+
|
433 |
+
return false;
|
434 |
}
|
435 |
}
|
436 |
|
includes/vendor/composer/LICENSE
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
Copyright (c)
|
3 |
|
4 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
of this software and associated documentation files (the "Software"), to deal
|
1 |
|
2 |
+
Copyright (c) Nils Adermann, Jordi Boggiano
|
3 |
|
4 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
of this software and associated documentation files (the "Software"), to deal
|
includes/vendor/composer/autoload_files.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_files.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname(dirname($vendorDir));
|
7 |
-
|
8 |
-
return array(
|
9 |
-
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
10 |
-
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
|
11 |
-
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
12 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/autoload_real.php
CHANGED
@@ -23,7 +23,7 @@ class ComposerAutoloaderInit6ba6ee55693d165c056f65e51c5383a5
|
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
spl_autoload_unregister(array('ComposerAutoloaderInit6ba6ee55693d165c056f65e51c5383a5', 'loadClassLoader'));
|
25 |
|
26 |
-
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
spl_autoload_unregister(array('ComposerAutoloaderInit6ba6ee55693d165c056f65e51c5383a5', 'loadClassLoader'));
|
25 |
|
26 |
+
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
includes/vendor/composer/installed.json
CHANGED
@@ -1,23 +1,26 @@
|
|
1 |
[
|
2 |
{
|
3 |
"name": "firebase/php-jwt",
|
4 |
-
"version": "
|
5 |
-
"version_normalized": "
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/firebase/php-jwt.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
18 |
"php": ">=5.3.0"
|
19 |
},
|
20 |
-
"
|
|
|
|
|
|
|
21 |
"type": "library",
|
22 |
"installation-source": "dist",
|
23 |
"autoload": {
|
1 |
[
|
2 |
{
|
3 |
"name": "firebase/php-jwt",
|
4 |
+
"version": "v5.0.0",
|
5 |
+
"version_normalized": "5.0.0.0",
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/firebase/php-jwt.git",
|
9 |
+
"reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/9984a4d3a32ae7673d6971ea00bae9d0a1abba0e",
|
14 |
+
"reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
18 |
"php": ">=5.3.0"
|
19 |
},
|
20 |
+
"require-dev": {
|
21 |
+
"phpunit/phpunit": " 4.8.35"
|
22 |
+
},
|
23 |
+
"time": "2017-06-27T22:17:23+00:00",
|
24 |
"type": "library",
|
25 |
"installation-source": "dist",
|
26 |
"autoload": {
|
includes/vendor/firebase/php-jwt/.travis.yml
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
language: php
|
2 |
-
|
3 |
-
php:
|
4 |
-
- 5.3
|
5 |
-
- 5.4
|
6 |
-
- 5.5
|
7 |
-
- hhvm
|
8 |
-
|
9 |
-
before_script:
|
10 |
-
- wget -nc http://getcomposer.org/composer.phar
|
11 |
-
- php composer.phar install
|
12 |
-
|
13 |
-
script: phpunit --configuration phpunit.xml.dist
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/firebase/php-jwt/README.md
CHANGED
@@ -5,8 +5,7 @@
|
|
5 |
|
6 |
PHP-JWT
|
7 |
=======
|
8 |
-
A simple library to encode and decode JSON Web Tokens (JWT) in PHP.
|
9 |
-
conform to the [current spec](http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06)
|
10 |
|
11 |
Installation
|
12 |
------------
|
@@ -59,12 +58,93 @@ $decoded_array = (array) $decoded;
|
|
59 |
JWT::$leeway = 60; // $leeway in seconds
|
60 |
$decoded = JWT::decode($jwt, $key, array('HS256'));
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
?>
|
63 |
```
|
64 |
|
65 |
Changelog
|
66 |
---------
|
67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
#### 3.0.0 / 2015-07-22
|
69 |
- Minimum PHP version updated from `5.2.0` to `5.3.0`.
|
70 |
- Add `\Firebase\JWT` namespace. See
|
@@ -109,6 +189,12 @@ Time: 0 seconds, Memory: 2.50Mb
|
|
109 |
OK (5 tests, 5 assertions)
|
110 |
```
|
111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
License
|
113 |
-------
|
114 |
[3-Clause BSD](http://opensource.org/licenses/BSD-3-Clause).
|
5 |
|
6 |
PHP-JWT
|
7 |
=======
|
8 |
+
A simple library to encode and decode JSON Web Tokens (JWT) in PHP, conforming to [RFC 7519](https://tools.ietf.org/html/rfc7519).
|
|
|
9 |
|
10 |
Installation
|
11 |
------------
|
58 |
JWT::$leeway = 60; // $leeway in seconds
|
59 |
$decoded = JWT::decode($jwt, $key, array('HS256'));
|
60 |
|
61 |
+
?>
|
62 |
+
```
|
63 |
+
Example with RS256 (openssl)
|
64 |
+
----------------------------
|
65 |
+
```php
|
66 |
+
<?php
|
67 |
+
use \Firebase\JWT\JWT;
|
68 |
+
|
69 |
+
$privateKey = <<<EOD
|
70 |
+
-----BEGIN RSA PRIVATE KEY-----
|
71 |
+
MIICXAIBAAKBgQC8kGa1pSjbSYZVebtTRBLxBz5H4i2p/llLCrEeQhta5kaQu/Rn
|
72 |
+
vuER4W8oDH3+3iuIYW4VQAzyqFpwuzjkDI+17t5t0tyazyZ8JXw+KgXTxldMPEL9
|
73 |
+
5+qVhgXvwtihXC1c5oGbRlEDvDF6Sa53rcFVsYJ4ehde/zUxo6UvS7UrBQIDAQAB
|
74 |
+
AoGAb/MXV46XxCFRxNuB8LyAtmLDgi/xRnTAlMHjSACddwkyKem8//8eZtw9fzxz
|
75 |
+
bWZ/1/doQOuHBGYZU8aDzzj59FZ78dyzNFoF91hbvZKkg+6wGyd/LrGVEB+Xre0J
|
76 |
+
Nil0GReM2AHDNZUYRv+HYJPIOrB0CRczLQsgFJ8K6aAD6F0CQQDzbpjYdx10qgK1
|
77 |
+
cP59UHiHjPZYC0loEsk7s+hUmT3QHerAQJMZWC11Qrn2N+ybwwNblDKv+s5qgMQ5
|
78 |
+
5tNoQ9IfAkEAxkyffU6ythpg/H0Ixe1I2rd0GbF05biIzO/i77Det3n4YsJVlDck
|
79 |
+
ZkcvY3SK2iRIL4c9yY6hlIhs+K9wXTtGWwJBAO9Dskl48mO7woPR9uD22jDpNSwe
|
80 |
+
k90OMepTjzSvlhjbfuPN1IdhqvSJTDychRwn1kIJ7LQZgQ8fVz9OCFZ/6qMCQGOb
|
81 |
+
qaGwHmUK6xzpUbbacnYrIM6nLSkXgOAwv7XXCojvY614ILTK3iXiLBOxPu5Eu13k
|
82 |
+
eUz9sHyD6vkgZzjtxXECQAkp4Xerf5TGfQXGXhxIX52yH+N2LtujCdkQZjXAsGdm
|
83 |
+
B2zNzvrlgRmgBrklMTrMYgm1NPcW+bRLGcwgW2PTvNM=
|
84 |
+
-----END RSA PRIVATE KEY-----
|
85 |
+
EOD;
|
86 |
+
|
87 |
+
$publicKey = <<<EOD
|
88 |
+
-----BEGIN PUBLIC KEY-----
|
89 |
+
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8kGa1pSjbSYZVebtTRBLxBz5H
|
90 |
+
4i2p/llLCrEeQhta5kaQu/RnvuER4W8oDH3+3iuIYW4VQAzyqFpwuzjkDI+17t5t
|
91 |
+
0tyazyZ8JXw+KgXTxldMPEL95+qVhgXvwtihXC1c5oGbRlEDvDF6Sa53rcFVsYJ4
|
92 |
+
ehde/zUxo6UvS7UrBQIDAQAB
|
93 |
+
-----END PUBLIC KEY-----
|
94 |
+
EOD;
|
95 |
+
|
96 |
+
$token = array(
|
97 |
+
"iss" => "example.org",
|
98 |
+
"aud" => "example.com",
|
99 |
+
"iat" => 1356999524,
|
100 |
+
"nbf" => 1357000000
|
101 |
+
);
|
102 |
+
|
103 |
+
$jwt = JWT::encode($token, $privateKey, 'RS256');
|
104 |
+
echo "Encode:\n" . print_r($jwt, true) . "\n";
|
105 |
+
|
106 |
+
$decoded = JWT::decode($jwt, $publicKey, array('RS256'));
|
107 |
+
|
108 |
+
/*
|
109 |
+
NOTE: This will now be an object instead of an associative array. To get
|
110 |
+
an associative array, you will need to cast it as such:
|
111 |
+
*/
|
112 |
+
|
113 |
+
$decoded_array = (array) $decoded;
|
114 |
+
echo "Decode:\n" . print_r($decoded_array, true) . "\n";
|
115 |
?>
|
116 |
```
|
117 |
|
118 |
Changelog
|
119 |
---------
|
120 |
|
121 |
+
#### 5.0.0 / 2017-06-26
|
122 |
+
- Support RS384 and RS512.
|
123 |
+
See [#117](https://github.com/firebase/php-jwt/pull/117). Thanks [@joostfaassen](https://github.com/joostfaassen)!
|
124 |
+
- Add an example for RS256 openssl.
|
125 |
+
See [#125](https://github.com/firebase/php-jwt/pull/125). Thanks [@akeeman](https://github.com/akeeman)!
|
126 |
+
- Detect invalid Base64 encoding in signature.
|
127 |
+
See [#162](https://github.com/firebase/php-jwt/pull/162). Thanks [@psignoret](https://github.com/psignoret)!
|
128 |
+
- Update `JWT::verify` to handle OpenSSL errors.
|
129 |
+
See [#159](https://github.com/firebase/php-jwt/pull/159). Thanks [@bshaffer](https://github.com/bshaffer)!
|
130 |
+
- Add `array` type hinting to `decode` method
|
131 |
+
See [#101](https://github.com/firebase/php-jwt/pull/101). Thanks [@hywak](https://github.com/hywak)!
|
132 |
+
- Add all JSON error types.
|
133 |
+
See [#110](https://github.com/firebase/php-jwt/pull/110). Thanks [@gbalduzzi](https://github.com/gbalduzzi)!
|
134 |
+
- Bugfix 'kid' not in given key list.
|
135 |
+
See [#129](https://github.com/firebase/php-jwt/pull/129). Thanks [@stampycode](https://github.com/stampycode)!
|
136 |
+
- Miscellaneous cleanup, documentation and test fixes.
|
137 |
+
See [#107](https://github.com/firebase/php-jwt/pull/107), [#115](https://github.com/firebase/php-jwt/pull/115),
|
138 |
+
[#160](https://github.com/firebase/php-jwt/pull/160), [#161](https://github.com/firebase/php-jwt/pull/161), and
|
139 |
+
[#165](https://github.com/firebase/php-jwt/pull/165). Thanks [@akeeman](https://github.com/akeeman),
|
140 |
+
[@chinedufn](https://github.com/chinedufn), and [@bshaffer](https://github.com/bshaffer)!
|
141 |
+
|
142 |
+
#### 4.0.0 / 2016-07-17
|
143 |
+
- Add support for late static binding. See [#88](https://github.com/firebase/php-jwt/pull/88) for details. Thanks to [@chappy84](https://github.com/chappy84)!
|
144 |
+
- Use static `$timestamp` instead of `time()` to improve unit testing. See [#93](https://github.com/firebase/php-jwt/pull/93) for details. Thanks to [@josephmcdermott](https://github.com/josephmcdermott)!
|
145 |
+
- Fixes to exceptions classes. See [#81](https://github.com/firebase/php-jwt/pull/81) for details. Thanks to [@Maks3w](https://github.com/Maks3w)!
|
146 |
+
- Fixes to PHPDoc. See [#76](https://github.com/firebase/php-jwt/pull/76) for details. Thanks to [@akeeman](https://github.com/akeeman)!
|
147 |
+
|
148 |
#### 3.0.0 / 2015-07-22
|
149 |
- Minimum PHP version updated from `5.2.0` to `5.3.0`.
|
150 |
- Add `\Firebase\JWT` namespace. See
|
189 |
OK (5 tests, 5 assertions)
|
190 |
```
|
191 |
|
192 |
+
New Lines in private keys
|
193 |
+
-----
|
194 |
+
|
195 |
+
If your private key contains `\n` characters, be sure to wrap it in double quotes `""`
|
196 |
+
and not single quotes `''` in order to properly interpret the escaped characters.
|
197 |
+
|
198 |
License
|
199 |
-------
|
200 |
[3-Clause BSD](http://opensource.org/licenses/BSD-3-Clause).
|
includes/vendor/firebase/php-jwt/composer.json
CHANGED
@@ -23,5 +23,7 @@
|
|
23 |
"Firebase\\JWT\\": "src"
|
24 |
}
|
25 |
},
|
26 |
-
"
|
|
|
|
|
27 |
}
|
23 |
"Firebase\\JWT\\": "src"
|
24 |
}
|
25 |
},
|
26 |
+
"require-dev": {
|
27 |
+
"phpunit/phpunit": " 4.8.35"
|
28 |
+
}
|
29 |
}
|
includes/vendor/firebase/php-jwt/composer.lock
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"_readme": [
|
3 |
-
"This file locks the dependencies of your project to a known state",
|
4 |
-
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
-
"This file is @generated automatically"
|
6 |
-
],
|
7 |
-
"hash": "60a5df5d283a7ae9000173248eba8909",
|
8 |
-
"packages": [],
|
9 |
-
"packages-dev": [],
|
10 |
-
"aliases": [],
|
11 |
-
"minimum-stability": "dev",
|
12 |
-
"stability-flags": [],
|
13 |
-
"prefer-stable": false,
|
14 |
-
"prefer-lowest": false,
|
15 |
-
"platform": {
|
16 |
-
"php": ">=5.2.0"
|
17 |
-
},
|
18 |
-
"platform-dev": []
|
19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/firebase/php-jwt/package.xml
DELETED
@@ -1,77 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<package packagerversion="1.9.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
|
3 |
-
http://pear.php.net/dtd/tasks-1.0.xsd
|
4 |
-
http://pear.php.net/dtd/package-2.0
|
5 |
-
http://pear.php.net/dtd/package-2.0.xsd">
|
6 |
-
<name>JWT</name>
|
7 |
-
<channel>pear.php.net</channel>
|
8 |
-
<summary>A JWT encoder/decoder.</summary>
|
9 |
-
<description>A JWT encoder/decoder library for PHP.</description>
|
10 |
-
<lead>
|
11 |
-
<name>Neuman Vong</name>
|
12 |
-
<user>lcfrs</user>
|
13 |
-
<email>neuman+pear@twilio.com</email>
|
14 |
-
<active>yes</active>
|
15 |
-
</lead>
|
16 |
-
<lead>
|
17 |
-
<name>Firebase Operations</name>
|
18 |
-
<user>firebase</user>
|
19 |
-
<email>operations@firebase.com</email>
|
20 |
-
<active>yes</active>
|
21 |
-
</lead>
|
22 |
-
<date>2015-07-22</date>
|
23 |
-
<version>
|
24 |
-
<release>3.0.0</release>
|
25 |
-
<api>3.0.0</api>
|
26 |
-
</version>
|
27 |
-
<stability>
|
28 |
-
<release>beta</release>
|
29 |
-
<api>beta</api>
|
30 |
-
</stability>
|
31 |
-
<license uri="http://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
|
32 |
-
<notes>
|
33 |
-
Initial release with basic support for JWT encoding, decoding and signature verification.
|
34 |
-
</notes>
|
35 |
-
<contents>
|
36 |
-
<dir baseinstalldir="/" name="/">
|
37 |
-
<dir name="tests">
|
38 |
-
<file name="JWTTest.php" role="test" />
|
39 |
-
</dir>
|
40 |
-
<file name="Authentication/JWT.php" role="php" />
|
41 |
-
</dir>
|
42 |
-
</contents>
|
43 |
-
<dependencies>
|
44 |
-
<required>
|
45 |
-
<php>
|
46 |
-
<min>5.1</min>
|
47 |
-
</php>
|
48 |
-
<pearinstaller>
|
49 |
-
<min>1.7.0</min>
|
50 |
-
</pearinstaller>
|
51 |
-
<extension>
|
52 |
-
<name>json</name>
|
53 |
-
</extension>
|
54 |
-
<extension>
|
55 |
-
<name>hash</name>
|
56 |
-
</extension>
|
57 |
-
</required>
|
58 |
-
</dependencies>
|
59 |
-
<phprelease />
|
60 |
-
<changelog>
|
61 |
-
<release>
|
62 |
-
<version>
|
63 |
-
<release>0.1.0</release>
|
64 |
-
<api>0.1.0</api>
|
65 |
-
</version>
|
66 |
-
<stability>
|
67 |
-
<release>beta</release>
|
68 |
-
<api>beta</api>
|
69 |
-
</stability>
|
70 |
-
<date>2015-04-01</date>
|
71 |
-
<license uri="http://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
|
72 |
-
<notes>
|
73 |
-
Initial release with basic support for JWT encoding, decoding and signature verification.
|
74 |
-
</notes>
|
75 |
-
</release>
|
76 |
-
</changelog>
|
77 |
-
</package>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/firebase/php-jwt/phpunit.xml.dist
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
|
3 |
-
<phpunit backupGlobals="false"
|
4 |
-
backupStaticAttributes="false"
|
5 |
-
colors="true"
|
6 |
-
convertErrorsToExceptions="true"
|
7 |
-
convertNoticesToExceptions="true"
|
8 |
-
convertWarningsToExceptions="true"
|
9 |
-
processIsolation="false"
|
10 |
-
stopOnFailure="false"
|
11 |
-
syntaxCheck="false"
|
12 |
-
bootstrap="tests/bootstrap.php"
|
13 |
-
>
|
14 |
-
<testsuites>
|
15 |
-
<testsuite name="PHP JSON Web Token Test Suite">
|
16 |
-
<directory>./tests</directory>
|
17 |
-
</testsuite>
|
18 |
-
</testsuites>
|
19 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/firebase/php-jwt/run-tests.sh
DELETED
@@ -1,38 +0,0 @@
|
|
1 |
-
|
2 |
-
#!/usr/bin/env bash
|
3 |
-
gpg --fingerprint D8406D0D82947747293778314AA394086372C20A
|
4 |
-
if [ $? -ne 0 ]; then
|
5 |
-
echo -e "\033[33mDownloading PGP Public Key...\033[0m"
|
6 |
-
gpg --recv-keys D8406D0D82947747293778314AA394086372C20A
|
7 |
-
# Sebastian Bergmann <sb@sebastian-bergmann.de>
|
8 |
-
gpg --fingerprint D8406D0D82947747293778314AA394086372C20A
|
9 |
-
if [ $? -ne 0 ]; then
|
10 |
-
echo -e "\033[31mCould not download PGP public key for verification\033[0m"
|
11 |
-
exit
|
12 |
-
fi
|
13 |
-
fi
|
14 |
-
|
15 |
-
# Let's grab the latest release and its signature
|
16 |
-
if [ ! -f phpunit.phar ]; then
|
17 |
-
wget https://phar.phpunit.de/phpunit.phar
|
18 |
-
fi
|
19 |
-
if [ ! -f phpunit.phar.asc ]; then
|
20 |
-
wget https://phar.phpunit.de/phpunit.phar.asc
|
21 |
-
fi
|
22 |
-
|
23 |
-
# Verify before running
|
24 |
-
gpg --verify phpunit.phar.asc phpunit.phar
|
25 |
-
if [ $? -eq 0 ]; then
|
26 |
-
echo
|
27 |
-
echo -e "\033[33mBegin Unit Testing\033[0m"
|
28 |
-
# Run the testing suite
|
29 |
-
php --version
|
30 |
-
php phpunit.phar --configuration phpunit.xml.dist
|
31 |
-
else
|
32 |
-
echo
|
33 |
-
chmod -x phpunit.phar
|
34 |
-
mv phpunit.phar /tmp/bad-phpunit.phar
|
35 |
-
mv phpunit.phar.asc /tmp/bad-phpunit.phar.asc
|
36 |
-
echo -e "\033[31mSignature did not match! PHPUnit has been moved to /tmp/bad-phpunit.phar\033[0m"
|
37 |
-
exit 1
|
38 |
-
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/firebase/php-jwt/src/JWT.php
CHANGED
@@ -8,7 +8,7 @@ use \DateTime;
|
|
8 |
|
9 |
/**
|
10 |
* JSON Web Token implementation, based on this spec:
|
11 |
-
*
|
12 |
*
|
13 |
* PHP version 5
|
14 |
*
|
@@ -29,25 +29,34 @@ class JWT
|
|
29 |
*/
|
30 |
public static $leeway = 0;
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
public static $supported_algs = array(
|
33 |
'HS256' => array('hash_hmac', 'SHA256'),
|
34 |
'HS512' => array('hash_hmac', 'SHA512'),
|
35 |
'HS384' => array('hash_hmac', 'SHA384'),
|
36 |
'RS256' => array('openssl', 'SHA256'),
|
|
|
|
|
37 |
);
|
38 |
|
39 |
/**
|
40 |
* Decodes a JWT string into a PHP object.
|
41 |
*
|
42 |
-
* @param string
|
43 |
-
* @param string|array
|
44 |
-
*
|
45 |
-
* @param array
|
46 |
-
*
|
47 |
*
|
48 |
* @return object The JWT's payload as a PHP object
|
49 |
*
|
50 |
-
* @throws DomainException Algorithm was not provided
|
51 |
* @throws UnexpectedValueException Provided JWT was invalid
|
52 |
* @throws SignatureInvalidException Provided JWT was invalid because the signature verification failed
|
53 |
* @throws BeforeValidException Provided JWT is trying to be used before it's eligible as defined by 'nbf'
|
@@ -57,8 +66,10 @@ class JWT
|
|
57 |
* @uses jsonDecode
|
58 |
* @uses urlsafeB64Decode
|
59 |
*/
|
60 |
-
public static function decode($jwt, $key, $allowed_algs = array())
|
61 |
{
|
|
|
|
|
62 |
if (empty($key)) {
|
63 |
throw new InvalidArgumentException('Key may not be empty');
|
64 |
}
|
@@ -67,39 +78,43 @@ class JWT
|
|
67 |
throw new UnexpectedValueException('Wrong number of segments');
|
68 |
}
|
69 |
list($headb64, $bodyb64, $cryptob64) = $tks;
|
70 |
-
if (null === ($header =
|
71 |
throw new UnexpectedValueException('Invalid header encoding');
|
72 |
}
|
73 |
-
if (null === $payload =
|
74 |
throw new UnexpectedValueException('Invalid claims encoding');
|
75 |
}
|
76 |
-
$sig =
|
77 |
-
|
|
|
78 |
if (empty($header->alg)) {
|
79 |
-
throw new
|
80 |
}
|
81 |
-
if (empty(
|
82 |
-
throw new
|
83 |
}
|
84 |
-
if (!
|
85 |
-
throw new
|
86 |
}
|
87 |
if (is_array($key) || $key instanceof \ArrayAccess) {
|
88 |
if (isset($header->kid)) {
|
|
|
|
|
|
|
89 |
$key = $key[$header->kid];
|
90 |
} else {
|
91 |
-
throw new
|
92 |
}
|
93 |
}
|
94 |
|
95 |
// Check the signature
|
96 |
-
if (!
|
97 |
throw new SignatureInvalidException('Signature verification failed');
|
98 |
}
|
99 |
|
100 |
// Check if the nbf if it is defined. This is the time that the
|
101 |
// token can actually be used. If it's not yet that time, abort.
|
102 |
-
if (isset($payload->nbf) && $payload->nbf > (
|
103 |
throw new BeforeValidException(
|
104 |
'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->nbf)
|
105 |
);
|
@@ -108,14 +123,14 @@ class JWT
|
|
108 |
// Check that this token has been created before 'now'. This prevents
|
109 |
// using tokens that have been created for later use (and haven't
|
110 |
// correctly used the nbf claim).
|
111 |
-
if (isset($payload->iat) && $payload->iat > (
|
112 |
throw new BeforeValidException(
|
113 |
'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->iat)
|
114 |
);
|
115 |
}
|
116 |
|
117 |
// Check if this token has expired.
|
118 |
-
if (isset($payload->exp) && (
|
119 |
throw new ExpiredException('Expired token');
|
120 |
}
|
121 |
|
@@ -130,6 +145,7 @@ class JWT
|
|
130 |
* If the algorithm used is asymmetric, this is the private key
|
131 |
* @param string $alg The signing algorithm.
|
132 |
* Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
|
|
|
133 |
* @param array $head An array with header elements to attach
|
134 |
*
|
135 |
* @return string A signed JWT
|
@@ -147,12 +163,12 @@ class JWT
|
|
147 |
$header = array_merge($head, $header);
|
148 |
}
|
149 |
$segments = array();
|
150 |
-
$segments[] =
|
151 |
-
$segments[] =
|
152 |
$signing_input = implode('.', $segments);
|
153 |
|
154 |
-
$signature =
|
155 |
-
$segments[] =
|
156 |
|
157 |
return implode('.', $segments);
|
158 |
}
|
@@ -171,10 +187,10 @@ class JWT
|
|
171 |
*/
|
172 |
public static function sign($msg, $key, $alg = 'HS256')
|
173 |
{
|
174 |
-
if (empty(
|
175 |
throw new DomainException('Algorithm not supported');
|
176 |
}
|
177 |
-
list($function, $algorithm) =
|
178 |
switch($function) {
|
179 |
case 'hash_hmac':
|
180 |
return hash_hmac($algorithm, $msg, $key, true);
|
@@ -204,32 +220,36 @@ class JWT
|
|
204 |
*/
|
205 |
private static function verify($msg, $signature, $key, $alg)
|
206 |
{
|
207 |
-
if (empty(
|
208 |
throw new DomainException('Algorithm not supported');
|
209 |
}
|
210 |
|
211 |
-
list($function, $algorithm) =
|
212 |
switch($function) {
|
213 |
case 'openssl':
|
214 |
$success = openssl_verify($msg, $signature, $key, $algorithm);
|
215 |
-
if (
|
216 |
-
|
217 |
-
}
|
218 |
-
return
|
219 |
}
|
|
|
|
|
|
|
|
|
220 |
case 'hash_hmac':
|
221 |
default:
|
222 |
$hash = hash_hmac($algorithm, $msg, $key, true);
|
223 |
if (function_exists('hash_equals')) {
|
224 |
return hash_equals($signature, $hash);
|
225 |
}
|
226 |
-
$len = min(
|
227 |
|
228 |
$status = 0;
|
229 |
for ($i = 0; $i < $len; $i++) {
|
230 |
$status |= (ord($signature[$i]) ^ ord($hash[$i]));
|
231 |
}
|
232 |
-
$status |= (
|
233 |
|
234 |
return ($status === 0);
|
235 |
}
|
@@ -263,7 +283,7 @@ class JWT
|
|
263 |
}
|
264 |
|
265 |
if (function_exists('json_last_error') && $errno = json_last_error()) {
|
266 |
-
|
267 |
} elseif ($obj === null && $input !== 'null') {
|
268 |
throw new DomainException('Null result with non-null input');
|
269 |
}
|
@@ -283,7 +303,7 @@ class JWT
|
|
283 |
{
|
284 |
$json = json_encode($input);
|
285 |
if (function_exists('json_last_error') && $errno = json_last_error()) {
|
286 |
-
|
287 |
} elseif ($json === 'null' && $input !== null) {
|
288 |
throw new DomainException('Null result with non-null input');
|
289 |
}
|
@@ -330,8 +350,10 @@ class JWT
|
|
330 |
{
|
331 |
$messages = array(
|
332 |
JSON_ERROR_DEPTH => 'Maximum stack depth exceeded',
|
|
|
333 |
JSON_ERROR_CTRL_CHAR => 'Unexpected control character found',
|
334 |
-
JSON_ERROR_SYNTAX => 'Syntax error, malformed JSON'
|
|
|
335 |
);
|
336 |
throw new DomainException(
|
337 |
isset($messages[$errno])
|
8 |
|
9 |
/**
|
10 |
* JSON Web Token implementation, based on this spec:
|
11 |
+
* https://tools.ietf.org/html/rfc7519
|
12 |
*
|
13 |
* PHP version 5
|
14 |
*
|
29 |
*/
|
30 |
public static $leeway = 0;
|
31 |
|
32 |
+
/**
|
33 |
+
* Allow the current timestamp to be specified.
|
34 |
+
* Useful for fixing a value within unit testing.
|
35 |
+
*
|
36 |
+
* Will default to PHP time() value if null.
|
37 |
+
*/
|
38 |
+
public static $timestamp = null;
|
39 |
+
|
40 |
public static $supported_algs = array(
|
41 |
'HS256' => array('hash_hmac', 'SHA256'),
|
42 |
'HS512' => array('hash_hmac', 'SHA512'),
|
43 |
'HS384' => array('hash_hmac', 'SHA384'),
|
44 |
'RS256' => array('openssl', 'SHA256'),
|
45 |
+
'RS384' => array('openssl', 'SHA384'),
|
46 |
+
'RS512' => array('openssl', 'SHA512'),
|
47 |
);
|
48 |
|
49 |
/**
|
50 |
* Decodes a JWT string into a PHP object.
|
51 |
*
|
52 |
+
* @param string $jwt The JWT
|
53 |
+
* @param string|array $key The key, or map of keys.
|
54 |
+
* If the algorithm used is asymmetric, this is the public key
|
55 |
+
* @param array $allowed_algs List of supported verification algorithms
|
56 |
+
* Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
|
57 |
*
|
58 |
* @return object The JWT's payload as a PHP object
|
59 |
*
|
|
|
60 |
* @throws UnexpectedValueException Provided JWT was invalid
|
61 |
* @throws SignatureInvalidException Provided JWT was invalid because the signature verification failed
|
62 |
* @throws BeforeValidException Provided JWT is trying to be used before it's eligible as defined by 'nbf'
|
66 |
* @uses jsonDecode
|
67 |
* @uses urlsafeB64Decode
|
68 |
*/
|
69 |
+
public static function decode($jwt, $key, array $allowed_algs = array())
|
70 |
{
|
71 |
+
$timestamp = is_null(static::$timestamp) ? time() : static::$timestamp;
|
72 |
+
|
73 |
if (empty($key)) {
|
74 |
throw new InvalidArgumentException('Key may not be empty');
|
75 |
}
|
78 |
throw new UnexpectedValueException('Wrong number of segments');
|
79 |
}
|
80 |
list($headb64, $bodyb64, $cryptob64) = $tks;
|
81 |
+
if (null === ($header = static::jsonDecode(static::urlsafeB64Decode($headb64)))) {
|
82 |
throw new UnexpectedValueException('Invalid header encoding');
|
83 |
}
|
84 |
+
if (null === $payload = static::jsonDecode(static::urlsafeB64Decode($bodyb64))) {
|
85 |
throw new UnexpectedValueException('Invalid claims encoding');
|
86 |
}
|
87 |
+
if (false === ($sig = static::urlsafeB64Decode($cryptob64))) {
|
88 |
+
throw new UnexpectedValueException('Invalid signature encoding');
|
89 |
+
}
|
90 |
if (empty($header->alg)) {
|
91 |
+
throw new UnexpectedValueException('Empty algorithm');
|
92 |
}
|
93 |
+
if (empty(static::$supported_algs[$header->alg])) {
|
94 |
+
throw new UnexpectedValueException('Algorithm not supported');
|
95 |
}
|
96 |
+
if (!in_array($header->alg, $allowed_algs)) {
|
97 |
+
throw new UnexpectedValueException('Algorithm not allowed');
|
98 |
}
|
99 |
if (is_array($key) || $key instanceof \ArrayAccess) {
|
100 |
if (isset($header->kid)) {
|
101 |
+
if (!isset($key[$header->kid])) {
|
102 |
+
throw new UnexpectedValueException('"kid" invalid, unable to lookup correct key');
|
103 |
+
}
|
104 |
$key = $key[$header->kid];
|
105 |
} else {
|
106 |
+
throw new UnexpectedValueException('"kid" empty, unable to lookup correct key');
|
107 |
}
|
108 |
}
|
109 |
|
110 |
// Check the signature
|
111 |
+
if (!static::verify("$headb64.$bodyb64", $sig, $key, $header->alg)) {
|
112 |
throw new SignatureInvalidException('Signature verification failed');
|
113 |
}
|
114 |
|
115 |
// Check if the nbf if it is defined. This is the time that the
|
116 |
// token can actually be used. If it's not yet that time, abort.
|
117 |
+
if (isset($payload->nbf) && $payload->nbf > ($timestamp + static::$leeway)) {
|
118 |
throw new BeforeValidException(
|
119 |
'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->nbf)
|
120 |
);
|
123 |
// Check that this token has been created before 'now'. This prevents
|
124 |
// using tokens that have been created for later use (and haven't
|
125 |
// correctly used the nbf claim).
|
126 |
+
if (isset($payload->iat) && $payload->iat > ($timestamp + static::$leeway)) {
|
127 |
throw new BeforeValidException(
|
128 |
'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->iat)
|
129 |
);
|
130 |
}
|
131 |
|
132 |
// Check if this token has expired.
|
133 |
+
if (isset($payload->exp) && ($timestamp - static::$leeway) >= $payload->exp) {
|
134 |
throw new ExpiredException('Expired token');
|
135 |
}
|
136 |
|
145 |
* If the algorithm used is asymmetric, this is the private key
|
146 |
* @param string $alg The signing algorithm.
|
147 |
* Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
|
148 |
+
* @param mixed $keyId
|
149 |
* @param array $head An array with header elements to attach
|
150 |
*
|
151 |
* @return string A signed JWT
|
163 |
$header = array_merge($head, $header);
|
164 |
}
|
165 |
$segments = array();
|
166 |
+
$segments[] = static::urlsafeB64Encode(static::jsonEncode($header));
|
167 |
+
$segments[] = static::urlsafeB64Encode(static::jsonEncode($payload));
|
168 |
$signing_input = implode('.', $segments);
|
169 |
|
170 |
+
$signature = static::sign($signing_input, $key, $alg);
|
171 |
+
$segments[] = static::urlsafeB64Encode($signature);
|
172 |
|
173 |
return implode('.', $segments);
|
174 |
}
|
187 |
*/
|
188 |
public static function sign($msg, $key, $alg = 'HS256')
|
189 |
{
|
190 |
+
if (empty(static::$supported_algs[$alg])) {
|
191 |
throw new DomainException('Algorithm not supported');
|
192 |
}
|
193 |
+
list($function, $algorithm) = static::$supported_algs[$alg];
|
194 |
switch($function) {
|
195 |
case 'hash_hmac':
|
196 |
return hash_hmac($algorithm, $msg, $key, true);
|
220 |
*/
|
221 |
private static function verify($msg, $signature, $key, $alg)
|
222 |
{
|
223 |
+
if (empty(static::$supported_algs[$alg])) {
|
224 |
throw new DomainException('Algorithm not supported');
|
225 |
}
|
226 |
|
227 |
+
list($function, $algorithm) = static::$supported_algs[$alg];
|
228 |
switch($function) {
|
229 |
case 'openssl':
|
230 |
$success = openssl_verify($msg, $signature, $key, $algorithm);
|
231 |
+
if ($success === 1) {
|
232 |
+
return true;
|
233 |
+
} elseif ($success === 0) {
|
234 |
+
return false;
|
235 |
}
|
236 |
+
// returns 1 on success, 0 on failure, -1 on error.
|
237 |
+
throw new DomainException(
|
238 |
+
'OpenSSL error: ' . openssl_error_string()
|
239 |
+
);
|
240 |
case 'hash_hmac':
|
241 |
default:
|
242 |
$hash = hash_hmac($algorithm, $msg, $key, true);
|
243 |
if (function_exists('hash_equals')) {
|
244 |
return hash_equals($signature, $hash);
|
245 |
}
|
246 |
+
$len = min(static::safeStrlen($signature), static::safeStrlen($hash));
|
247 |
|
248 |
$status = 0;
|
249 |
for ($i = 0; $i < $len; $i++) {
|
250 |
$status |= (ord($signature[$i]) ^ ord($hash[$i]));
|
251 |
}
|
252 |
+
$status |= (static::safeStrlen($signature) ^ static::safeStrlen($hash));
|
253 |
|
254 |
return ($status === 0);
|
255 |
}
|
283 |
}
|
284 |
|
285 |
if (function_exists('json_last_error') && $errno = json_last_error()) {
|
286 |
+
static::handleJsonError($errno);
|
287 |
} elseif ($obj === null && $input !== 'null') {
|
288 |
throw new DomainException('Null result with non-null input');
|
289 |
}
|
303 |
{
|
304 |
$json = json_encode($input);
|
305 |
if (function_exists('json_last_error') && $errno = json_last_error()) {
|
306 |
+
static::handleJsonError($errno);
|
307 |
} elseif ($json === 'null' && $input !== null) {
|
308 |
throw new DomainException('Null result with non-null input');
|
309 |
}
|
350 |
{
|
351 |
$messages = array(
|
352 |
JSON_ERROR_DEPTH => 'Maximum stack depth exceeded',
|
353 |
+
JSON_ERROR_STATE_MISMATCH => 'Invalid or malformed JSON',
|
354 |
JSON_ERROR_CTRL_CHAR => 'Unexpected control character found',
|
355 |
+
JSON_ERROR_SYNTAX => 'Syntax error, malformed JSON',
|
356 |
+
JSON_ERROR_UTF8 => 'Malformed UTF-8 characters' //PHP >= 5.3.3
|
357 |
);
|
358 |
throw new DomainException(
|
359 |
isset($messages[$errno])
|
includes/vendor/firebase/php-jwt/tests/JWTTest.php
DELETED
@@ -1,264 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
use \Firebase\JWT\JWT;
|
3 |
-
|
4 |
-
class JWTTest extends PHPUnit_Framework_TestCase
|
5 |
-
{
|
6 |
-
public function testEncodeDecode()
|
7 |
-
{
|
8 |
-
$msg = JWT::encode('abc', 'my_key');
|
9 |
-
$this->assertEquals(JWT::decode($msg, 'my_key', array('HS256')), 'abc');
|
10 |
-
}
|
11 |
-
|
12 |
-
public function testDecodeFromPython()
|
13 |
-
{
|
14 |
-
$msg = 'eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.Iio6aHR0cDovL2FwcGxpY2F0aW9uL2NsaWNreT9ibGFoPTEuMjMmZi5vbz00NTYgQUMwMDAgMTIzIg.E_U8X2YpMT5K1cEiT_3-IvBYfrdIFIeVYeOqre_Z5Cg';
|
15 |
-
$this->assertEquals(
|
16 |
-
JWT::decode($msg, 'my_key', array('HS256')),
|
17 |
-
'*:http://application/clicky?blah=1.23&f.oo=456 AC000 123'
|
18 |
-
);
|
19 |
-
}
|
20 |
-
|
21 |
-
public function testUrlSafeCharacters()
|
22 |
-
{
|
23 |
-
$encoded = JWT::encode('f?', 'a');
|
24 |
-
$this->assertEquals('f?', JWT::decode($encoded, 'a', array('HS256')));
|
25 |
-
}
|
26 |
-
|
27 |
-
public function testMalformedUtf8StringsFail()
|
28 |
-
{
|
29 |
-
$this->setExpectedException('DomainException');
|
30 |
-
JWT::encode(pack('c', 128), 'a');
|
31 |
-
}
|
32 |
-
|
33 |
-
public function testMalformedJsonThrowsException()
|
34 |
-
{
|
35 |
-
$this->setExpectedException('DomainException');
|
36 |
-
JWT::jsonDecode('this is not valid JSON string');
|
37 |
-
}
|
38 |
-
|
39 |
-
public function testExpiredToken()
|
40 |
-
{
|
41 |
-
$this->setExpectedException('Firebase\JWT\ExpiredException');
|
42 |
-
$payload = array(
|
43 |
-
"message" => "abc",
|
44 |
-
"exp" => time() - 20); // time in the past
|
45 |
-
$encoded = JWT::encode($payload, 'my_key');
|
46 |
-
JWT::decode($encoded, 'my_key', array('HS256'));
|
47 |
-
}
|
48 |
-
|
49 |
-
public function testBeforeValidTokenWithNbf()
|
50 |
-
{
|
51 |
-
$this->setExpectedException('Firebase\JWT\BeforeValidException');
|
52 |
-
$payload = array(
|
53 |
-
"message" => "abc",
|
54 |
-
"nbf" => time() + 20); // time in the future
|
55 |
-
$encoded = JWT::encode($payload, 'my_key');
|
56 |
-
JWT::decode($encoded, 'my_key', array('HS256'));
|
57 |
-
}
|
58 |
-
|
59 |
-
public function testBeforeValidTokenWithIat()
|
60 |
-
{
|
61 |
-
$this->setExpectedException('Firebase\JWT\BeforeValidException');
|
62 |
-
$payload = array(
|
63 |
-
"message" => "abc",
|
64 |
-
"iat" => time() + 20); // time in the future
|
65 |
-
$encoded = JWT::encode($payload, 'my_key');
|
66 |
-
JWT::decode($encoded, 'my_key', array('HS256'));
|
67 |
-
}
|
68 |
-
|
69 |
-
public function testValidToken()
|
70 |
-
{
|
71 |
-
$payload = array(
|
72 |
-
"message" => "abc",
|
73 |
-
"exp" => time() + JWT::$leeway + 20); // time in the future
|
74 |
-
$encoded = JWT::encode($payload, 'my_key');
|
75 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256'));
|
76 |
-
$this->assertEquals($decoded->message, 'abc');
|
77 |
-
}
|
78 |
-
|
79 |
-
public function testValidTokenWithLeeway()
|
80 |
-
{
|
81 |
-
JWT::$leeway = 60;
|
82 |
-
$payload = array(
|
83 |
-
"message" => "abc",
|
84 |
-
"exp" => time() - 20); // time in the past
|
85 |
-
$encoded = JWT::encode($payload, 'my_key');
|
86 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256'));
|
87 |
-
$this->assertEquals($decoded->message, 'abc');
|
88 |
-
JWT::$leeway = 0;
|
89 |
-
}
|
90 |
-
|
91 |
-
public function testExpiredTokenWithLeeway()
|
92 |
-
{
|
93 |
-
JWT::$leeway = 60;
|
94 |
-
$payload = array(
|
95 |
-
"message" => "abc",
|
96 |
-
"exp" => time() - 70); // time far in the past
|
97 |
-
$this->setExpectedException('Firebase\JWT\ExpiredException');
|
98 |
-
$encoded = JWT::encode($payload, 'my_key');
|
99 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256'));
|
100 |
-
$this->assertEquals($decoded->message, 'abc');
|
101 |
-
JWT::$leeway = 0;
|
102 |
-
}
|
103 |
-
|
104 |
-
public function testValidTokenWithList()
|
105 |
-
{
|
106 |
-
$payload = array(
|
107 |
-
"message" => "abc",
|
108 |
-
"exp" => time() + 20); // time in the future
|
109 |
-
$encoded = JWT::encode($payload, 'my_key');
|
110 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256', 'HS512'));
|
111 |
-
$this->assertEquals($decoded->message, 'abc');
|
112 |
-
}
|
113 |
-
|
114 |
-
public function testValidTokenWithNbf()
|
115 |
-
{
|
116 |
-
$payload = array(
|
117 |
-
"message" => "abc",
|
118 |
-
"iat" => time(),
|
119 |
-
"exp" => time() + 20, // time in the future
|
120 |
-
"nbf" => time() - 20);
|
121 |
-
$encoded = JWT::encode($payload, 'my_key');
|
122 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256'));
|
123 |
-
$this->assertEquals($decoded->message, 'abc');
|
124 |
-
}
|
125 |
-
|
126 |
-
public function testValidTokenWithNbfLeeway()
|
127 |
-
{
|
128 |
-
JWT::$leeway = 60;
|
129 |
-
$payload = array(
|
130 |
-
"message" => "abc",
|
131 |
-
"nbf" => time() + 20); // not before in near (leeway) future
|
132 |
-
$encoded = JWT::encode($payload, 'my_key');
|
133 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256'));
|
134 |
-
$this->assertEquals($decoded->message, 'abc');
|
135 |
-
JWT::$leeway = 0;
|
136 |
-
}
|
137 |
-
|
138 |
-
public function testInvalidTokenWithNbfLeeway()
|
139 |
-
{
|
140 |
-
JWT::$leeway = 60;
|
141 |
-
$payload = array(
|
142 |
-
"message" => "abc",
|
143 |
-
"nbf" => time() + 65); // not before too far in future
|
144 |
-
$encoded = JWT::encode($payload, 'my_key');
|
145 |
-
$this->setExpectedException('Firebase\JWT\BeforeValidException');
|
146 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256'));
|
147 |
-
JWT::$leeway = 0;
|
148 |
-
}
|
149 |
-
|
150 |
-
public function testValidTokenWithIatLeeway()
|
151 |
-
{
|
152 |
-
JWT::$leeway = 60;
|
153 |
-
$payload = array(
|
154 |
-
"message" => "abc",
|
155 |
-
"iat" => time() + 20); // issued in near (leeway) future
|
156 |
-
$encoded = JWT::encode($payload, 'my_key');
|
157 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256'));
|
158 |
-
$this->assertEquals($decoded->message, 'abc');
|
159 |
-
JWT::$leeway = 0;
|
160 |
-
}
|
161 |
-
|
162 |
-
public function testInvalidTokenWithIatLeeway()
|
163 |
-
{
|
164 |
-
JWT::$leeway = 60;
|
165 |
-
$payload = array(
|
166 |
-
"message" => "abc",
|
167 |
-
"iat" => time() + 65); // issued too far in future
|
168 |
-
$encoded = JWT::encode($payload, 'my_key');
|
169 |
-
$this->setExpectedException('Firebase\JWT\BeforeValidException');
|
170 |
-
$decoded = JWT::decode($encoded, 'my_key', array('HS256'));
|
171 |
-
JWT::$leeway = 0;
|
172 |
-
}
|
173 |
-
|
174 |
-
public function testInvalidToken()
|
175 |
-
{
|
176 |
-
$payload = array(
|
177 |
-
"message" => "abc",
|
178 |
-
"exp" => time() + 20); // time in the future
|
179 |
-
$encoded = JWT::encode($payload, 'my_key');
|
180 |
-
$this->setExpectedException('Firebase\JWT\SignatureInvalidException');
|
181 |
-
$decoded = JWT::decode($encoded, 'my_key2', array('HS256'));
|
182 |
-
}
|
183 |
-
|
184 |
-
public function testNullKeyFails()
|
185 |
-
{
|
186 |
-
$payload = array(
|
187 |
-
"message" => "abc",
|
188 |
-
"exp" => time() + JWT::$leeway + 20); // time in the future
|
189 |
-
$encoded = JWT::encode($payload, 'my_key');
|
190 |
-
$this->setExpectedException('InvalidArgumentException');
|
191 |
-
$decoded = JWT::decode($encoded, null, array('HS256'));
|
192 |
-
}
|
193 |
-
|
194 |
-
public function testEmptyKeyFails()
|
195 |
-
{
|
196 |
-
$payload = array(
|
197 |
-
"message" => "abc",
|
198 |
-
"exp" => time() + JWT::$leeway + 20); // time in the future
|
199 |
-
$encoded = JWT::encode($payload, 'my_key');
|
200 |
-
$this->setExpectedException('InvalidArgumentException');
|
201 |
-
$decoded = JWT::decode($encoded, '', array('HS256'));
|
202 |
-
}
|
203 |
-
|
204 |
-
public function testRSEncodeDecode()
|
205 |
-
{
|
206 |
-
$privKey = openssl_pkey_new(array('digest_alg' => 'sha256',
|
207 |
-
'private_key_bits' => 1024,
|
208 |
-
'private_key_type' => OPENSSL_KEYTYPE_RSA));
|
209 |
-
$msg = JWT::encode('abc', $privKey, 'RS256');
|
210 |
-
$pubKey = openssl_pkey_get_details($privKey);
|
211 |
-
$pubKey = $pubKey['key'];
|
212 |
-
$decoded = JWT::decode($msg, $pubKey, array('RS256'));
|
213 |
-
$this->assertEquals($decoded, 'abc');
|
214 |
-
}
|
215 |
-
|
216 |
-
public function testKIDChooser()
|
217 |
-
{
|
218 |
-
$keys = array('1' => 'my_key', '2' => 'my_key2');
|
219 |
-
$msg = JWT::encode('abc', $keys['1'], 'HS256', '1');
|
220 |
-
$decoded = JWT::decode($msg, $keys, array('HS256'));
|
221 |
-
$this->assertEquals($decoded, 'abc');
|
222 |
-
}
|
223 |
-
|
224 |
-
public function testArrayAccessKIDChooser()
|
225 |
-
{
|
226 |
-
$keys = new ArrayObject(array('1' => 'my_key', '2' => 'my_key2'));
|
227 |
-
$msg = JWT::encode('abc', $keys['1'], 'HS256', '1');
|
228 |
-
$decoded = JWT::decode($msg, $keys, array('HS256'));
|
229 |
-
$this->assertEquals($decoded, 'abc');
|
230 |
-
}
|
231 |
-
|
232 |
-
public function testNoneAlgorithm()
|
233 |
-
{
|
234 |
-
$msg = JWT::encode('abc', 'my_key');
|
235 |
-
$this->setExpectedException('DomainException');
|
236 |
-
JWT::decode($msg, 'my_key', array('none'));
|
237 |
-
}
|
238 |
-
|
239 |
-
public function testIncorrectAlgorithm()
|
240 |
-
{
|
241 |
-
$msg = JWT::encode('abc', 'my_key');
|
242 |
-
$this->setExpectedException('DomainException');
|
243 |
-
JWT::decode($msg, 'my_key', array('RS256'));
|
244 |
-
}
|
245 |
-
|
246 |
-
public function testMissingAlgorithm()
|
247 |
-
{
|
248 |
-
$msg = JWT::encode('abc', 'my_key');
|
249 |
-
$this->setExpectedException('DomainException');
|
250 |
-
JWT::decode($msg, 'my_key');
|
251 |
-
}
|
252 |
-
|
253 |
-
public function testAdditionalHeaders()
|
254 |
-
{
|
255 |
-
$msg = JWT::encode('abc', 'my_key', 'HS256', null, array('cty' => 'test-eit;v=1'));
|
256 |
-
$this->assertEquals(JWT::decode($msg, 'my_key', array('HS256')), 'abc');
|
257 |
-
}
|
258 |
-
|
259 |
-
public function testInvalidSegmentCount()
|
260 |
-
{
|
261 |
-
$this->setExpectedException('UnexpectedValueException');
|
262 |
-
JWT::decode('brokenheader.brokenbody', 'my_key', array('HS256'));
|
263 |
-
}
|
264 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/firebase/php-jwt/tests/autoload.php.dist
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// if the library is the project, try to use the composer's autoload for the tests
|
4 |
-
$composerAutoload = __DIR__ . '/../vendor/autoload.php';
|
5 |
-
|
6 |
-
if (is_file($composerAutoload)) {
|
7 |
-
include $composerAutoload;
|
8 |
-
} else {
|
9 |
-
die('Unable to find autoload.php file, please use composer to load dependencies:
|
10 |
-
|
11 |
-
wget http://getcomposer.org/composer.phar
|
12 |
-
php composer.phar install
|
13 |
-
|
14 |
-
Visit http://getcomposer.org/ for more information.
|
15 |
-
|
16 |
-
');
|
17 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/firebase/php-jwt/tests/bootstrap.php
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if (file_exists($file = __DIR__ . '/autoload.php')) {
|
4 |
-
require_once $file;
|
5 |
-
} elseif (file_exists($file = __DIR__ . '/autoload.php.dist')) {
|
6 |
-
require_once $file;
|
7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jwt-auth.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Plugin Name: JWT Authentication for WP-API
|
16 |
* Plugin URI: https://enriquechavez.co
|
17 |
* Description: Extends the WP REST API using JSON Web Tokens Authentication as an authentication method.
|
18 |
-
* Version: 1.2.
|
19 |
* Author: Enrique Chavez
|
20 |
* Author URI: https://enriquechavez.co
|
21 |
* License: GPL-2.0+
|
15 |
* Plugin Name: JWT Authentication for WP-API
|
16 |
* Plugin URI: https://enriquechavez.co
|
17 |
* Description: Extends the WP REST API using JSON Web Tokens Authentication as an authentication method.
|
18 |
+
* Version: 1.2.4
|
19 |
* Author: Enrique Chavez
|
20 |
* Author URI: https://enriquechavez.co
|
21 |
* License: GPL-2.0+
|
public/class-jwt-auth-public.php
CHANGED
@@ -218,7 +218,7 @@ class Jwt_Auth_Public
|
|
218 |
*
|
219 |
* @param bool $output
|
220 |
*
|
221 |
-
* @return WP_Error | Object
|
222 |
*/
|
223 |
public function validate_token($output = true)
|
224 |
{
|
218 |
*
|
219 |
* @param bool $output
|
220 |
*
|
221 |
+
* @return WP_Error | Object | Array
|
222 |
*/
|
223 |
public function validate_token($output = true)
|
224 |
{
|
readme.txt
CHANGED
@@ -4,8 +4,9 @@ Contributors: tmeister
|
|
4 |
Donate link: https://enriquechavez.co
|
5 |
Tags: wp-json, jwt, json web authentication, wp-api
|
6 |
Requires at least: 4.2
|
7 |
-
Tested up to: 4.
|
8 |
-
|
|
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -340,6 +341,10 @@ $data = array(
|
|
340 |
###Please read how to configured the plugin https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/
|
341 |
|
342 |
== Changelog ==
|
|
|
|
|
|
|
|
|
343 |
= 1.2.3 =
|
344 |
* Fix Max recursion error in WordPress 4.7 #44
|
345 |
|
4 |
Donate link: https://enriquechavez.co
|
5 |
Tags: wp-json, jwt, json web authentication, wp-api
|
6 |
Requires at least: 4.2
|
7 |
+
Tested up to: 4.8.1
|
8 |
+
Requires PHP: 5.3.0
|
9 |
+
Stable tag: 1.2.4
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
341 |
###Please read how to configured the plugin https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/
|
342 |
|
343 |
== Changelog ==
|
344 |
+
= 1.2.4 =
|
345 |
+
* Update firebase/php-jwt to v5.0.0 ( https://github.com/firebase/php-jwt )
|
346 |
+
* Add Requires PHP Tag
|
347 |
+
|
348 |
= 1.2.3 =
|
349 |
* Fix Max recursion error in WordPress 4.7 #44
|
350 |
|