shish 6 سال پیش
والد
کامیت
f7e6267f98
32فایلهای تغییر یافته به همراه1335 افزوده شده و 387 حذف شده
  1. 1 5
      composer.json
  2. 138 163
      composer.lock
  3. 2 0
      vendor/composer/autoload_psr4.php
  4. 10 0
      vendor/composer/autoload_static.php
  5. 148 218
      vendor/composer/installed.json
  6. 5 0
      vendor/lcobucci/clock/.gitignore
  7. 66 0
      vendor/lcobucci/clock/.scrutinizer.yml
  8. 22 0
      vendor/lcobucci/clock/.travis.yml
  9. 21 0
      vendor/lcobucci/clock/LICENSE
  10. 64 0
      vendor/lcobucci/clock/README.md
  11. 37 0
      vendor/lcobucci/clock/composer.json
  12. 29 0
      vendor/lcobucci/clock/phpunit.xml.dist
  13. 12 0
      vendor/lcobucci/clock/src/Clock.php
  14. 30 0
      vendor/lcobucci/clock/src/FrozenClock.php
  15. 26 0
      vendor/lcobucci/clock/src/SystemClock.php
  16. 45 0
      vendor/lcobucci/clock/test/FrozenClockTest.php
  17. 42 0
      vendor/lcobucci/clock/test/SystemClockTest.php
  18. 3 0
      vendor/lcobucci/jose-parsing/.gitignore
  19. 61 0
      vendor/lcobucci/jose-parsing/.scrutinizer.yml
  20. 17 0
      vendor/lcobucci/jose-parsing/.travis.yml
  21. 35 0
      vendor/lcobucci/jose-parsing/CONTRIBUTING.md
  22. 27 0
      vendor/lcobucci/jose-parsing/LICENSE
  23. 79 0
      vendor/lcobucci/jose-parsing/README.md
  24. 42 0
      vendor/lcobucci/jose-parsing/composer.json
  25. 25 0
      vendor/lcobucci/jose-parsing/phpunit.xml.dist
  26. 40 0
      vendor/lcobucci/jose-parsing/src/Decoder.php
  27. 41 0
      vendor/lcobucci/jose-parsing/src/Encoder.php
  28. 20 0
      vendor/lcobucci/jose-parsing/src/Exception.php
  29. 75 0
      vendor/lcobucci/jose-parsing/src/Parser.php
  30. 171 0
      vendor/lcobucci/jose-parsing/test/ParserTest.php
  31. 1 1
      vendor/lcobucci/jwt
  32. 0 0
      vendor/yiisoft/yii2/yii

+ 1 - 5
composer.json

@@ -26,7 +26,7 @@
         "pwf0112/wxcrypt": "*",
         "hollisho/yii2-redis-pub-sub": "dev-master",
         "mikemadisonweb/yii2-rabbitmq": "^2.2.1",
-        "lcobucci/jwt": "^3.3.0"
+        "lcobucci/jwt": "^4.0@alpha"
     },
     "require-dev": {
         "yiisoft/yii2-codeception": "~2.0.5",
@@ -46,9 +46,5 @@
         }
     },
     "repositories": {
-        "packagist": {
-            "type": "composer",
-            "url": "https://mirrors.aliyun.com/composer/"
-        }
     }
 }

+ 138 - 163
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "7e4dc58225cd421a20b2e7385d2d965f",
+    "content-hash": "19b3ce3819379dbc315f5f53c42799b1",
     "packages": [
         {
             "name": "aliyuncs/oss-sdk-php",
@@ -18,13 +18,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/aliyun/aliyun-oss-php-sdk/zipball/e69f57916678458642ac9d2fd341ae78a56996c8",
                 "reference": "e69f57916678458642ac9d2fd341ae78a56996c8",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": ">=5.3"
@@ -270,13 +264,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/cebe/markdown/zipball/25b28bae8a6f185b5030673af77b32e1163d5c6e",
                 "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "lib-pcre": "*",
@@ -336,13 +324,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021",
                 "reference": "d85d39da4576a6934b72480be6978fb10c860021",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": ">=5.2"
@@ -389,13 +371,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/bf595424e4d442a190582e088985dc835a789071",
                 "reference": "bf595424e4d442a190582e088985dc835a789071",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "ext-json": "*",
@@ -461,13 +437,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/guzzle/promises/zipball/926eaa3ff73cde2becf652b785831bcb7618568a",
                 "reference": "926eaa3ff73cde2becf652b785831bcb7618568a",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": ">=5.5.0"
@@ -595,13 +565,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/hollisho/yii2-redis-pub-sub/zipball/d19daa3c6928bb28aca180a8b77e952ef435d41b",
                 "reference": "d19daa3c6928bb28aca180a8b77e952ef435d41b",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": ">=5.4.0"
@@ -637,13 +601,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/yidejia/jzweb-open-weixin/zipball/90283189b6bb5a75a0be3c1fe3f1c49fcfc9b2a7",
                 "reference": "90283189b6bb5a75a0be3c1fe3f1c49fcfc9b2a7",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "guzzlehttp/guzzle": "~6.0",
@@ -668,42 +626,136 @@
             "description": "微信开放平台接口",
             "time": "2018-06-01T07:58:00+00:00"
         },
+        {
+            "name": "lcobucci/clock",
+            "version": "1.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/lcobucci/clock.git",
+                "reference": "d11d20b6a3df872d34f3b18d5bf4cbe5a01a2451"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/lcobucci/clock/zipball/d11d20b6a3df872d34f3b18d5bf4cbe5a01a2451",
+                "reference": "d11d20b6a3df872d34f3b18d5bf4cbe5a01a2451",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^6.1"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.1-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Lcobucci\\Clock\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Luís Cobucci",
+                    "email": "lcobucci@gmail.com"
+                }
+            ],
+            "description": "Yet another clock abstraction",
+            "time": "2018-01-19T15:38:44+00:00"
+        },
+        {
+            "name": "lcobucci/jose-parsing",
+            "version": "2.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/lcobucci/jose-parsing.git",
+                "reference": "ea0eaed79c3a5ca9ece3f824ecfe1e798fd1e1f4"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/lcobucci/jose-parsing/zipball/ea0eaed79c3a5ca9ece3f824ecfe1e798fd1e1f4",
+                "reference": "ea0eaed79c3a5ca9ece3f824ecfe1e798fd1e1f4",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.1"
+            },
+            "require-dev": {
+                "phpmd/phpmd": "^2.3",
+                "phpunit/phpunit": "^6.0",
+                "squizlabs/php_codesniffer": "^2.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.2-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Lcobucci\\Jose\\Parsing\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Luís Otávio Cobucci Oblonczyk",
+                    "email": "lcobucci@gmail.com",
+                    "role": "Developer"
+                }
+            ],
+            "description": "A basic Base64Url and JSON encoding/decoding implementation",
+            "keywords": [
+                "JOSE",
+                "base64url"
+            ],
+            "time": "2017-02-12T22:14:17+00:00"
+        },
         {
             "name": "lcobucci/jwt",
-            "version": "3.4.x-dev",
+            "version": "4.0.0-alpha1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/lcobucci/jwt.git",
-                "reference": "a11ec5f4b4d75d1fcd04e133dede4c317aac9e18"
+                "reference": "30969dac05855cf0123b2a8809c77542aba85dfa"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/lcobucci/jwt/zipball/a11ec5f4b4d75d1fcd04e133dede4c317aac9e18",
-                "reference": "a11ec5f4b4d75d1fcd04e133dede4c317aac9e18",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "url": "https://api.github.com/repos/lcobucci/jwt/zipball/30969dac05855cf0123b2a8809c77542aba85dfa",
+                "reference": "30969dac05855cf0123b2a8809c77542aba85dfa",
+                "shasum": ""
             },
             "require": {
-                "ext-mbstring": "*",
                 "ext-openssl": "*",
-                "php": "^5.6 || ^7.0"
+                "lcobucci/clock": "^1.0",
+                "lcobucci/jose-parsing": "~2.1",
+                "php": "^7.1"
             },
             "require-dev": {
-                "mikey179/vfsstream": "~1.5",
-                "phpmd/phpmd": "~2.2",
-                "phpunit/php-invoker": "~1.1",
-                "phpunit/phpunit": "^5.7 || ^7.3",
-                "squizlabs/php_codesniffer": "~2.3"
+                "mdanter/ecc": "^0.4",
+                "mikey179/vfsstream": "^1.6",
+                "phpmd/phpmd": "^2.5",
+                "phpunit/php-invoker": "^1.1",
+                "phpunit/phpunit": "^6.0",
+                "squizlabs/php_codesniffer": "^2.7"
+            },
+            "suggest": {
+                "mdanter/ecc": "Required to use Elliptic Curves based algorithms."
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "3.1-dev"
+                    "dev-master": "4.0-dev"
                 }
             },
             "autoload": {
@@ -717,7 +769,7 @@
             ],
             "authors": [
                 {
-                    "name": "Luís Otávio Cobucci Oblonczyk",
+                    "name": "Luís Cobucci",
                     "email": "lcobucci@gmail.com",
                     "role": "Developer"
                 }
@@ -727,7 +779,7 @@
                 "JWS",
                 "jwt"
             ],
-            "time": "2019-05-24T18:30:49+00:00"
+            "time": "2017-05-07T21:25:30+00:00"
         },
         {
             "name": "linslin/yii2-curl",
@@ -741,13 +793,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/linslin/Yii2-Curl/zipball/0384d175c594a6b76c4eeb91eb3804e24eb867b3",
                 "reference": "0384d175c594a6b76c4eeb91eb3804e24eb867b3",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "ext-curl": "*",
@@ -790,13 +836,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/mikemadisonweb/yii2-rabbitmq/zipball/d5574048b813f26f57996b0a7819a879df5826e2",
                 "reference": "d5574048b813f26f57996b0a7819a879df5826e2",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": "^7.0",
@@ -849,13 +889,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/04e5366f032906d5f716890427e425e71307d3a8",
                 "reference": "04e5366f032906d5f716890427e425e71307d3a8",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "ext-bcmath": "*",
@@ -929,13 +963,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/39534e3dd376041d0d50a4714e73375bf45b692b",
                 "reference": "39534e3dd376041d0d50a4714e73375bf45b692b",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "ext-mbstring": "*",
@@ -998,13 +1026,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
                 "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": ">=5.3.0"
@@ -1054,13 +1076,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/pwf0112/wxcrypt/zipball/4756b3cfb9e4b812d42acc381582485f21abe831",
                 "reference": "4756b3cfb9e4b812d42acc381582485f21abe831",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": ">=5.5.9"
@@ -1106,13 +1122,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
                 "reference": "120b605dfeb996808c31b6477290a714d356e822",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": ">=5.6"
@@ -1152,13 +1162,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950",
                 "reference": "181b89f18a90f8925ef805f950d47a7190e9b950",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "php": ">=5.3.3"
@@ -1212,13 +1216,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/f972275551172a4b2e293979d77aa0c795ae36a2",
                 "reference": "f972275551172a4b2e293979d77aa0c795ae36a2",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "bower-asset/inputmask": "~3.2.2 | ~3.3.5",
@@ -1318,13 +1316,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/454552b7a90e2a803def733e4d1f612b850158da",
                 "reference": "454552b7a90e2a803def733e4d1f612b850158da",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "bower-asset/bootstrap": "3.4.* | 3.3.* | 3.2.* | 3.1.*",
@@ -1387,13 +1379,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/602673880e00bc2cc6d874b0714382775b372ac2",
                 "reference": "602673880e00bc2cc6d874b0714382775b372ac2",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "composer-plugin-api": "^1.0"
@@ -1448,13 +1434,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/yiisoft/yii2-redis/zipball/5dc55d5187923219e9db86d149d56acf1f5a6ee8",
                 "reference": "5dc55d5187923219e9db86d149d56acf1f5a6ee8",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "yiisoft/yii2": "~2.0.11"
@@ -1502,13 +1482,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/yiisoft/yii2-swiftmailer/zipball/8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
                 "reference": "8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "shasum": ""
             },
             "require": {
                 "swiftmailer/swiftmailer": "~5.0",
@@ -2098,7 +2072,8 @@
     "aliases": [],
     "minimum-stability": "dev",
     "stability-flags": {
-        "hollisho/yii2-redis-pub-sub": 20
+        "hollisho/yii2-redis-pub-sub": 20,
+        "lcobucci/jwt": 15
     },
     "prefer-stable": false,
     "prefer-lowest": false,

+ 2 - 0
vendor/composer/autoload_psr4.php

@@ -26,7 +26,9 @@ return array(
     'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
     'PhpAmqpLib\\' => array($vendorDir . '/php-amqplib/php-amqplib/PhpAmqpLib'),
     'OSS\\' => array($vendorDir . '/aliyuncs/oss-sdk-php/src/OSS'),
+    'Lcobucci\\Jose\\Parsing\\' => array($vendorDir . '/lcobucci/jose-parsing/src'),
     'Lcobucci\\JWT\\' => array($vendorDir . '/lcobucci/jwt/src'),
+    'Lcobucci\\Clock\\' => array($vendorDir . '/lcobucci/clock/src'),
     'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
     'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
     'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),

+ 10 - 0
vendor/composer/autoload_static.php

@@ -70,7 +70,9 @@ class ComposerStaticInit1bf592390398b3f4608da27e3f630485
         ),
         'L' => 
         array (
+            'Lcobucci\\Jose\\Parsing\\' => 22,
             'Lcobucci\\JWT\\' => 13,
+            'Lcobucci\\Clock\\' => 15,
         ),
         'G' => 
         array (
@@ -165,10 +167,18 @@ class ComposerStaticInit1bf592390398b3f4608da27e3f630485
         array (
             0 => __DIR__ . '/..' . '/aliyuncs/oss-sdk-php/src/OSS',
         ),
+        'Lcobucci\\Jose\\Parsing\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/lcobucci/jose-parsing/src',
+        ),
         'Lcobucci\\JWT\\' => 
         array (
             0 => __DIR__ . '/..' . '/lcobucci/jwt/src',
         ),
+        'Lcobucci\\Clock\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/lcobucci/clock/src',
+        ),
         'GuzzleHttp\\Psr7\\' => 
         array (
             0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',

+ 148 - 218
vendor/composer/installed.json

@@ -12,13 +12,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/aliyun/aliyun-oss-php-sdk/zipball/e69f57916678458642ac9d2fd341ae78a56996c8",
             "reference": "e69f57916678458642ac9d2fd341ae78a56996c8",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.3"
@@ -366,13 +360,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/cebe/markdown/zipball/25b28bae8a6f185b5030673af77b32e1163d5c6e",
             "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "lib-pcre": "*",
@@ -434,13 +422,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021",
             "reference": "d85d39da4576a6934b72480be6978fb10c860021",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.2"
@@ -489,13 +471,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fb218ada627f7c750c6e0e41cae486d2db48e911",
             "reference": "fb218ada627f7c750c6e0e41cae486d2db48e911",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": "^5.3.3 || ^7.0"
@@ -547,13 +523,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/guzzle/guzzle/zipball/bf595424e4d442a190582e088985dc835a789071",
             "reference": "bf595424e4d442a190582e088985dc835a789071",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "ext-json": "*",
@@ -621,13 +591,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/guzzle/promises/zipball/926eaa3ff73cde2becf652b785831bcb7618568a",
             "reference": "926eaa3ff73cde2becf652b785831bcb7618568a",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.5.0"
@@ -759,13 +723,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/hollisho/yii2-redis-pub-sub/zipball/d19daa3c6928bb28aca180a8b77e952ef435d41b",
             "reference": "d19daa3c6928bb28aca180a8b77e952ef435d41b",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.4.0"
@@ -803,13 +761,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yidejia/jzweb-open-weixin/zipball/90283189b6bb5a75a0be3c1fe3f1c49fcfc9b2a7",
             "reference": "90283189b6bb5a75a0be3c1fe3f1c49fcfc9b2a7",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "guzzlehttp/guzzle": "~6.0",
@@ -835,44 +787,142 @@
         ],
         "description": "微信开放平台接口"
     },
+    {
+        "name": "lcobucci/clock",
+        "version": "1.1.0",
+        "version_normalized": "1.1.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/lcobucci/clock.git",
+            "reference": "d11d20b6a3df872d34f3b18d5bf4cbe5a01a2451"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/lcobucci/clock/zipball/d11d20b6a3df872d34f3b18d5bf4cbe5a01a2451",
+            "reference": "d11d20b6a3df872d34f3b18d5bf4cbe5a01a2451",
+            "shasum": ""
+        },
+        "require": {
+            "php": "^7.1"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "^6.1"
+        },
+        "time": "2018-01-19T15:38:44+00:00",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.1-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Lcobucci\\Clock\\": "src"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Luís Cobucci",
+                "email": "lcobucci@gmail.com"
+            }
+        ],
+        "description": "Yet another clock abstraction"
+    },
+    {
+        "name": "lcobucci/jose-parsing",
+        "version": "2.2.0",
+        "version_normalized": "2.2.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/lcobucci/jose-parsing.git",
+            "reference": "ea0eaed79c3a5ca9ece3f824ecfe1e798fd1e1f4"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/lcobucci/jose-parsing/zipball/ea0eaed79c3a5ca9ece3f824ecfe1e798fd1e1f4",
+            "reference": "ea0eaed79c3a5ca9ece3f824ecfe1e798fd1e1f4",
+            "shasum": ""
+        },
+        "require": {
+            "php": "^7.1"
+        },
+        "require-dev": {
+            "phpmd/phpmd": "^2.3",
+            "phpunit/phpunit": "^6.0",
+            "squizlabs/php_codesniffer": "^2.3"
+        },
+        "time": "2017-02-12T22:14:17+00:00",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.2-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Lcobucci\\Jose\\Parsing\\": "src"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Luís Otávio Cobucci Oblonczyk",
+                "email": "lcobucci@gmail.com",
+                "role": "Developer"
+            }
+        ],
+        "description": "A basic Base64Url and JSON encoding/decoding implementation",
+        "keywords": [
+            "JOSE",
+            "base64url"
+        ]
+    },
     {
         "name": "lcobucci/jwt",
-        "version": "3.4.x-dev",
-        "version_normalized": "3.4.9999999.9999999-dev",
+        "version": "4.0.0-alpha1",
+        "version_normalized": "4.0.0.0-alpha1",
         "source": {
             "type": "git",
             "url": "https://github.com/lcobucci/jwt.git",
-            "reference": "a11ec5f4b4d75d1fcd04e133dede4c317aac9e18"
+            "reference": "30969dac05855cf0123b2a8809c77542aba85dfa"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/lcobucci/jwt/zipball/a11ec5f4b4d75d1fcd04e133dede4c317aac9e18",
-            "reference": "a11ec5f4b4d75d1fcd04e133dede4c317aac9e18",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "url": "https://api.github.com/repos/lcobucci/jwt/zipball/30969dac05855cf0123b2a8809c77542aba85dfa",
+            "reference": "30969dac05855cf0123b2a8809c77542aba85dfa",
+            "shasum": ""
         },
         "require": {
-            "ext-mbstring": "*",
             "ext-openssl": "*",
-            "php": "^5.6 || ^7.0"
+            "lcobucci/clock": "^1.0",
+            "lcobucci/jose-parsing": "~2.1",
+            "php": "^7.1"
         },
         "require-dev": {
-            "mikey179/vfsstream": "~1.5",
-            "phpmd/phpmd": "~2.2",
-            "phpunit/php-invoker": "~1.1",
-            "phpunit/phpunit": "^5.7 || ^7.3",
-            "squizlabs/php_codesniffer": "~2.3"
+            "mdanter/ecc": "^0.4",
+            "mikey179/vfsstream": "^1.6",
+            "phpmd/phpmd": "^2.5",
+            "phpunit/php-invoker": "^1.1",
+            "phpunit/phpunit": "^6.0",
+            "squizlabs/php_codesniffer": "^2.7"
+        },
+        "suggest": {
+            "mdanter/ecc": "Required to use Elliptic Curves based algorithms."
         },
-        "time": "2019-05-24T18:30:49+00:00",
+        "time": "2017-05-07T21:25:30+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "3.1-dev"
+                "dev-master": "4.0-dev"
             }
         },
         "installation-source": "source",
@@ -887,7 +937,7 @@
         ],
         "authors": [
             {
-                "name": "Luís Otávio Cobucci Oblonczyk",
+                "name": "Luís Cobucci",
                 "email": "lcobucci@gmail.com",
                 "role": "Developer"
             }
@@ -911,13 +961,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/linslin/Yii2-Curl/zipball/0384d175c594a6b76c4eeb91eb3804e24eb867b3",
             "reference": "0384d175c594a6b76c4eeb91eb3804e24eb867b3",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "ext-curl": "*",
@@ -962,13 +1006,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/mikemadisonweb/yii2-rabbitmq/zipball/d5574048b813f26f57996b0a7819a879df5826e2",
             "reference": "d5574048b813f26f57996b0a7819a879df5826e2",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": "^7.0",
@@ -1023,13 +1061,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/04e5366f032906d5f716890427e425e71307d3a8",
             "reference": "04e5366f032906d5f716890427e425e71307d3a8",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "ext-bcmath": "*",
@@ -1105,13 +1137,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/39534e3dd376041d0d50a4714e73375bf45b692b",
             "reference": "39534e3dd376041d0d50a4714e73375bf45b692b",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "ext-mbstring": "*",
@@ -1176,13 +1202,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/phpspec/php-diff/zipball/0464787bfa7cd13576c5a1e318709768798bec6a",
             "reference": "0464787bfa7cd13576c5a1e318709768798bec6a",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "time": "2016-04-07T12:29:16+00:00",
         "type": "library",
@@ -1222,13 +1242,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
             "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.3.0"
@@ -1280,13 +1294,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/pwf0112/wxcrypt/zipball/4756b3cfb9e4b812d42acc381582485f21abe831",
             "reference": "4756b3cfb9e4b812d42acc381582485f21abe831",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.5.9"
@@ -1334,13 +1342,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
             "reference": "120b605dfeb996808c31b6477290a714d356e822",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.6"
@@ -1382,13 +1384,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950",
             "reference": "181b89f18a90f8925ef805f950d47a7190e9b950",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
@@ -1444,13 +1440,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609",
             "reference": "fe5e94c604826c35a32fa832f35bd036b6799609",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
@@ -1511,13 +1501,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e463ad286cb2c56527c56bfff9e1aa7bb471c04e",
             "reference": "e463ad286cb2c56527c56bfff9e1aa7bb471c04e",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "php": "^5.5.9|>=7.0.8",
@@ -1588,13 +1572,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/f972275551172a4b2e293979d77aa0c795ae36a2",
             "reference": "f972275551172a4b2e293979d77aa0c795ae36a2",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "bower-asset/inputmask": "~3.2.2 | ~3.3.5",
@@ -1696,13 +1674,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/454552b7a90e2a803def733e4d1f612b850158da",
             "reference": "454552b7a90e2a803def733e4d1f612b850158da",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "bower-asset/bootstrap": "3.4.* | 3.3.* | 3.2.* | 3.1.*",
@@ -1767,13 +1739,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-codeception/zipball/c7d1509498c349179940a8d2b9c6d078e8054b90",
             "reference": "c7d1509498c349179940a8d2b9c6d078e8054b90",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "yiisoft/yii2": ">=2.0.4"
@@ -1821,13 +1787,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/602673880e00bc2cc6d874b0714382775b372ac2",
             "reference": "602673880e00bc2cc6d874b0714382775b372ac2",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "composer-plugin-api": "^1.0"
@@ -1884,13 +1844,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-debug/zipball/93082f46d3568b4431a26f264e0d16a12c42bd50",
             "reference": "93082f46d3568b4431a26f264e0d16a12c42bd50",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "yiisoft/yii2": "~2.0.11",
@@ -1939,13 +1893,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-faker/zipball/2f548188b2961f097c08623214f5190e3cf2f1ac",
             "reference": "2f548188b2961f097c08623214f5190e3cf2f1ac",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "fzaninotto/faker": "~1.4",
@@ -1997,13 +1945,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-gii/zipball/1bd6df6804ca077ec022587905a0d43eb286f507",
             "reference": "1bd6df6804ca077ec022587905a0d43eb286f507",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "bower-asset/typeahead.js": "0.10.* | ~0.11.0",
@@ -2058,13 +2000,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-redis/zipball/5dc55d5187923219e9db86d149d56acf1f5a6ee8",
             "reference": "5dc55d5187923219e9db86d149d56acf1f5a6ee8",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "yiisoft/yii2": "~2.0.11"
@@ -2114,13 +2050,7 @@
             "type": "zip",
             "url": "https://api.github.com/repos/yiisoft/yii2-swiftmailer/zipball/8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
             "reference": "8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
-            "shasum": "",
-            "mirrors": [
-                {
-                    "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                    "preferred": true
-                }
-            ]
+            "shasum": ""
         },
         "require": {
             "swiftmailer/swiftmailer": "~5.0",

+ 5 - 0
vendor/lcobucci/clock/.gitignore

@@ -0,0 +1,5 @@
+vendor
+phpunit.xml
+composer.lock
+humbuglog.txt
+coverage

+ 66 - 0
vendor/lcobucci/clock/.scrutinizer.yml

@@ -0,0 +1,66 @@
+build:
+    environment:
+        mysql: false
+        postgresql: false
+        redis: false
+        rabbitmq: false
+        php:
+            version: 7.1.0
+tools:
+    php_sim: true
+    php_pdepend: true
+    php_analyzer: true
+    php_changetracking: true
+    sensiolabs_security_checker: true
+    php_mess_detector: true
+    php_code_coverage: true
+    external_code_coverage:
+        timeout: 1800
+    php_code_sniffer:
+        enabled: true
+        config:
+            standard: "PSR2"
+    php_cpd:
+        enabled: true
+        excluded_dirs: ["test", "vendor"]
+    php_loc:
+        enabled: true
+        excluded_dirs: ["test", "vendor"]
+checks:
+    php:
+        code_rating: true
+        duplication: true
+        argument_type_checks: true
+        assignment_of_null_return: true
+        avoid_conflicting_incrementers: true
+        avoid_useless_overridden_methods: true
+        catch_class_exists: true
+        closure_use_modifiable: true
+        closure_use_not_conflicting: true
+        deprecated_code_usage: true
+        method_calls_on_non_object: true
+        missing_arguments: true
+        no_duplicate_arguments: true
+        no_non_implemented_abstract_methods: true
+        no_property_on_interface: true
+        parameter_non_unique: true
+        precedence_in_conditions: true
+        precedence_mistakes: true
+        require_php_tag_first: true
+        security_vulnerabilities: true
+        sql_injection_vulnerabilities: true
+        too_many_arguments: true
+        unreachable_code: true
+        unused_methods: true
+        unused_parameters: true
+        unused_properties: true
+        unused_variables: true
+        use_statement_alias_conflict: true
+        useless_calls: true
+        variable_existence: true
+        verify_access_scope_valid: true
+        verify_argument_usable_as_reference: true
+        verify_property_names: true
+filter:
+    excluded_paths:
+        - test/*

+ 22 - 0
vendor/lcobucci/clock/.travis.yml

@@ -0,0 +1,22 @@
+language: php
+sudo: false
+
+php:
+  - 7.1
+  - nightly
+
+cache:
+  directories:
+    - $HOME/.composer/cache
+
+before_script:
+  - if [[ $TRAVIS_PHP_VERSION = '7.1' ]]; then PHPUNIT_FLAGS="--coverage-clover ./clover.xml"; else PHPUNIT_FLAGS=""; fi
+  - composer self-update
+  - composer install
+
+script:
+  - ./vendor/bin/phpunit $PHPUNIT_FLAGS
+
+after_script:
+  - wget https://scrutinizer-ci.com/ocular.phar
+  - if [ -f clover.xml ]; then php ocular.phar code-coverage:upload --format=php-clover ./clover.xml; fi

+ 21 - 0
vendor/lcobucci/clock/LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017 Luís Cobucci
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 64 - 0
vendor/lcobucci/clock/README.md

@@ -0,0 +1,64 @@
+# Clock
+
+[![Total Downloads](https://img.shields.io/packagist/dt/lcobucci/clock.svg?style=flat-square)](https://packagist.org/packages/lcobucci/clock)
+[![Latest Stable Version](https://img.shields.io/packagist/v/lcobucci/clock.svg?style=flat-square)](https://packagist.org/packages/lcobucci/clock)
+
+![Branch master](https://img.shields.io/badge/branch-master-brightgreen.svg?style=flat-square)
+[![Build Status](https://img.shields.io/travis/lcobucci/clock/master.svg?style=flat-square)](http://travis-ci.org/#!/lcobucci/clock)
+[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/lcobucci/clock/master.svg?style=flat-square)](https://scrutinizer-ci.com/g/lcobucci/clock/?branch=master)
+[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/lcobucci/clock/master.svg?style=flat-square)](https://scrutinizer-ci.com/g/lcobucci/clock/?branch=master)
+[![SensioLabsInsight](https://insight.sensiolabs.com/projects/50e3ef67-0f42-48fe-ace5-0beb9f78d117/mini.png)](https://insight.sensiolabs.com/projects/50e3ef67-0f42-48fe-ace5-0beb9f78d117)
+
+Yet another clock abstraction...
+
+The purpose is to decouple projects from `DateTimeImmutable` instantiation so that
+we can test things properly.
+
+## Installation
+
+Package is available on [Packagist](http://packagist.org/packages/lcobucci/clock),
+you can install it using [Composer](http://getcomposer.org).
+
+```shell
+composer require lcobucci/clock
+```
+
+## Basic usage
+
+Simply create an make your objects dependent on the 
+interface `Lcobucci\Clock\Clock` and use `SystemClock` or
+`FrozenClock` to retrieve the current time:
+
+```php
+<?php
+
+use Lcobucci\Clock\Clock;
+use Lcobucci\Clock\SystemClock;
+use Lcobucci\Clock\FrozenClock;
+
+function filterData(Clock $clock, array $objects): array
+{
+    return array_filter(
+        $objects,
+        function (stdClass $object) use ($clock): bool {
+            return $object->expiresAt > $clock->now();
+        }
+    );
+}
+
+// Object that will return the current time based on the given timezone
+$clock = new SystemClock(new DateTimeZone('UTC'));
+
+// Test object that always returns a fixed time object
+$clock = new FrozenClock(
+    new DateTimeImmutable('2017-05-07 18:49:30')
+);
+
+$objects = [
+    (object) ['expiresAt' => new DateTimeImmutable('2017-12-31 23:59:59')],
+    (object) ['expiresAt' => new DateTimeImmutable('2017-06-30 23:59:59')],
+    (object) ['expiresAt' => new DateTimeImmutable('2017-01-30 23:59:59')],
+];
+
+var_dump(filterData($clock, $objects)); // last item will be filtered
+```

+ 37 - 0
vendor/lcobucci/clock/composer.json

@@ -0,0 +1,37 @@
+{
+    "name": "lcobucci/clock",
+    "description": "Yet another clock abstraction",
+    "type": "library",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Luís Cobucci",
+            "email": "lcobucci@gmail.com"
+        }
+    ],
+    "require": {
+        "php": "^7.1"
+    },
+    "require-dev": {
+        "phpunit/phpunit": "^6.1"
+    },
+    "autoload": {
+        "psr-4": {
+            "Lcobucci\\Clock\\": "src"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "Lcobucci\\Clock\\": "src"
+        }
+    },
+    "config": {
+        "preferred-install": "dist",
+        "sort-packages": true
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "1.1-dev"
+        }
+    }
+}

+ 29 - 0
vendor/lcobucci/clock/phpunit.xml.dist

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
+    colors="true"
+    verbose="true"
+    beStrictAboutOutputDuringTests="true"
+    beStrictAboutTestsThatDoNotTestAnything="true"
+    beStrictAboutTodoAnnotatedTests="true"
+    beStrictAboutChangesToGlobalState="true"
+    beStrictAboutCoversAnnotation="true"
+    beStrictAboutResourceUsageDuringSmallTests="true"
+    forceCoversAnnotation="true">
+
+    <php>
+        <ini name="date.timezone" value="UTC" />
+    </php>
+
+	<testsuites>
+		<testsuite name="unit">
+			<directory>test</directory>
+		</testsuite>
+	</testsuites>
+
+    <filter>
+        <whitelist processUncoveredFilesFromWhitelist="true">
+            <directory suffix=".php">src</directory>
+        </whitelist>
+    </filter>
+</phpunit>

+ 12 - 0
vendor/lcobucci/clock/src/Clock.php

@@ -0,0 +1,12 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Lcobucci\Clock;
+
+use DateTimeImmutable;
+
+interface Clock
+{
+    public function now(): DateTimeImmutable;
+}

+ 30 - 0
vendor/lcobucci/clock/src/FrozenClock.php

@@ -0,0 +1,30 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Lcobucci\Clock;
+
+use DateTimeImmutable;
+
+final class FrozenClock implements Clock
+{
+    /**
+     * @var DateTimeImmutable
+     */
+    private $now;
+
+    public function __construct(DateTimeImmutable $now)
+    {
+        $this->now = $now;
+    }
+
+    public function setTo(DateTimeImmutable $now): void
+    {
+        $this->now = $now;
+    }
+
+    public function now(): DateTimeImmutable
+    {
+        return $this->now;
+    }
+}

+ 26 - 0
vendor/lcobucci/clock/src/SystemClock.php

@@ -0,0 +1,26 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Lcobucci\Clock;
+
+use DateTimeImmutable;
+use DateTimeZone;
+
+final class SystemClock implements Clock
+{
+    /**
+     * @var DateTimeZone
+     */
+    private $timezone;
+
+    public function __construct(DateTimeZone $timezone = null)
+    {
+        $this->timezone = $timezone ?: new DateTimeZone(date_default_timezone_get());
+    }
+
+    public function now(): DateTimeImmutable
+    {
+        return new DateTimeImmutable('now', $this->timezone);
+    }
+}

+ 45 - 0
vendor/lcobucci/clock/test/FrozenClockTest.php

@@ -0,0 +1,45 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Lcobucci\Clock;
+
+use DateTimeImmutable;
+use PHPUnit\Framework\TestCase;
+
+final class FrozenClockTest extends TestCase
+{
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Clock\FrozenClock::__construct
+     * @covers \Lcobucci\Clock\FrozenClock::now
+     */
+    public function nowShouldReturnAlwaysTheSameObject()
+    {
+        $now   = new DateTimeImmutable();
+        $clock = new FrozenClock($now);
+
+        self::assertSame($now, $clock->now());
+        self::assertSame($now, $clock->now());
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Clock\FrozenClock::setTo
+     * @uses   \Lcobucci\Clock\FrozenClock::__construct()
+     * @uses   \Lcobucci\Clock\FrozenClock::now
+     */
+    public function nowSetChangesTheObject()
+    {
+        $oldNow = new DateTimeImmutable();
+        $clock  = new FrozenClock($oldNow);
+
+        $newNow = new DateTimeImmutable();
+        $clock->setTo($newNow);
+
+        self::assertNotSame($oldNow, $clock->now());
+        self::assertSame($newNow, $clock->now());
+    }
+}

+ 42 - 0
vendor/lcobucci/clock/test/SystemClockTest.php

@@ -0,0 +1,42 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Lcobucci\Clock;
+
+use DateTimeImmutable;
+use DateTimeZone;
+use PHPUnit\Framework\TestCase;
+
+final class SystemClockTest extends TestCase
+{
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Clock\SystemClock::__construct
+     */
+    public function constructShouldUseSystemDefaultTimezoneIfNoneWasProvided(): void
+    {
+        self::assertAttributeEquals(new DateTimeZone('UTC'), 'timezone', new SystemClock());
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Clock\SystemClock::__construct
+     * @covers \Lcobucci\Clock\SystemClock::now
+     */
+    public function nowShouldRespectTheProvidedTimezone(): void
+    {
+        $timezone = new DateTimeZone('America/Sao_Paulo');
+        $clock    = new SystemClock($timezone);
+
+        $lower = new DateTimeImmutable('now', $timezone);
+        $now   = $clock->now();
+        $upper = new DateTimeImmutable('now', $timezone);
+
+        self::assertEquals($timezone, $now->getTimezone());
+        self::assertGreaterThanOrEqual($lower, $now);
+        self::assertLessThanOrEqual($upper, $now);
+    }
+}

+ 3 - 0
vendor/lcobucci/jose-parsing/.gitignore

@@ -0,0 +1,3 @@
+vendor
+composer.lock
+phpunit.xml

+ 61 - 0
vendor/lcobucci/jose-parsing/.scrutinizer.yml

@@ -0,0 +1,61 @@
+build:
+    environment:
+        mysql: false
+        postgresql: false
+        redis: false
+        rabbitmq: false
+        php:
+            version: 7.1.0
+tools:
+    php_sim: true
+    php_pdepend: true
+    php_analyzer: true
+    php_changetracking: true
+    php_mess_detector: true
+    php_code_coverage: true
+    external_code_coverage:
+        timeout: 1800
+    sensiolabs_security_checker: true
+    php_code_sniffer:
+        enabled: true
+        config:
+            standard: "PSR2"
+checks:
+    php:
+        code_rating: true
+        duplication: true
+        argument_type_checks: true
+        assignment_of_null_return: true
+        avoid_conflicting_incrementers: true
+        avoid_useless_overridden_methods: true
+        catch_class_exists: true
+        closure_use_modifiable: true
+        closure_use_not_conflicting: true
+        deprecated_code_usage: true
+        method_calls_on_non_object: true
+        missing_arguments: true
+        no_duplicate_arguments: true
+        no_non_implemented_abstract_methods: true
+        no_property_on_interface: true
+        parameter_non_unique: true
+        precedence_in_conditions: true
+        precedence_mistakes: true
+        require_php_tag_first: true
+        security_vulnerabilities: true
+        sql_injection_vulnerabilities: true
+        too_many_arguments: true
+        unreachable_code: true
+        unused_methods: true
+        unused_parameters: true
+        unused_properties: true
+        unused_variables: true
+        use_statement_alias_conflict: true
+        useless_calls: true
+        variable_existence: true
+        verify_access_scope_valid: true
+        verify_argument_usable_as_reference: true
+        verify_property_names: true
+
+filter:
+    excluded_paths:
+        - test/*

+ 17 - 0
vendor/lcobucci/jose-parsing/.travis.yml

@@ -0,0 +1,17 @@
+language: php
+sudo: false
+
+php:
+  - 7.1
+  - nightly
+
+before_script:
+  - composer selfupdate
+  - composer install
+
+script:
+  - ./vendor/bin/phpunit --coverage-clover ./clover.xml --testsuite=unit
+
+after_script:
+  - wget https://scrutinizer-ci.com/ocular.phar
+  - if [ -f clover.xml ]; then php ocular.phar code-coverage:upload --format=php-clover ./clover.xml; fi

+ 35 - 0
vendor/lcobucci/jose-parsing/CONTRIBUTING.md

@@ -0,0 +1,35 @@
+# Contributing to lcobucci/jose-parsing
+
+First off, thanks for taking the time to contribute!
+
+## Reporting issues
+
+We accept bug and feature requests via issues created [here](https://github.com/lcobucci/jose-parsing/issues).
+
+### Prior to submitting a bug report
+
+- **Always search the issue or pull request list first** - The odds are good that if you've found a problem, someone else has found it, too;
+- **Always try the [master](https://github.com/lcobucci/jose-parsing) branch** - to see if the reported bug has not already been fixed.
+
+## Pull Requests
+
+We accept contributions via pull requests [here](https://github.com/lcobucci/jose-parsing/pulls).
+
+- Follow [PSR-2 coding standards](http://www.php-fig.org/psr/psr-2);
+- Follow [PSR-4 autoloading standards](http://www.php-fig.org/psr/psr-4);
+- Follow [semver](http://semver.org);
+- Add tests (everything MUST be well tested);
+- Improve documentation (don't forget to update README.md);
+- Create topic branchs (don't send a PR from your master);
+- One pull request per feature;
+- Send coherent history by rebasing your work before submitting;
+
+### Branches
+
+- **master**: used to the next release
+- **2.0**: used to fix bugs
+- **1.0**: used to fix bugs
+
+**Thank you and happy coding!**
+
+@lcobucci

+ 27 - 0
vendor/lcobucci/jose-parsing/LICENSE

@@ -0,0 +1,27 @@
+Copyright (c) 2014-2015, Luís Otávio Cobucci Oblonczyk
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+* Neither the name of the {organization} nor the names of its
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 79 - 0
vendor/lcobucci/jose-parsing/README.md

@@ -0,0 +1,79 @@
+# Javascript Object Signing and Encoding Parsing
+[![Gitter](https://img.shields.io/badge/GITTER-JOIN%20CHAT%20%E2%86%92-brightgreen.svg?style=flat-square)](https://gitter.im/lcobucci/jose-parsing?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+[![Total Downloads](https://img.shields.io/packagist/dt/lcobucci/jose-parsing.svg?style=flat-square)](https://packagist.org/packages/lcobucci/jose-parsing)
+[![Latest Stable Version](https://img.shields.io/packagist/v/lcobucci/jose-parsing.svg?style=flat-square)](https://packagist.org/packages/lcobucci/jose-parsing)
+
+![Branch master](https://img.shields.io/badge/branch-master-brightgreen.svg?style=flat-square)
+[![Build Status](https://img.shields.io/travis/lcobucci/jose-parsing/master.svg?style=flat-square)](http://travis-ci.org/#!/lcobucci/jose-parsing)
+[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/lcobucci/jose-parsing/master.svg?style=flat-square)](https://scrutinizer-ci.com/g/lcobucci/jose-parsing/?branch=master)
+[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/lcobucci/jose-parsing/master.svg?style=flat-square)](https://scrutinizer-ci.com/g/lcobucci/jose-parsing/?branch=master)
+[![SensioLabsInsight](https://insight.sensiolabs.com/projects/ff4b3454-77ae-4882-8955-0c55c5ce5c68/mini.png)](https://insight.sensiolabs.com/projects/ff4b3454-77ae-4882-8955-0c55c5ce5c68)
+
+A basic Base64Url and json encoding/decoding implementation (requires PHP 7).
+
+## Installation
+
+Package is available on [Packagist](http://packagist.org/packages/lcobucci/jose-parsing),
+you can install it using [Composer](http://getcomposer.org).
+
+```shell
+composer require lcobucci/jose-parsing
+```
+
+### Dependencies
+
+- PHP 7
+
+## Basic usage
+
+This library is pretty simple and I think you would probably not use it without the other related projects :smile:.
+It just offers base64url and JSON (with some extra validation) encoding/decoding.
+
+### Encoding
+
+The code is self-explaining:
+
+```php
+use Lcobucci\Jose\Parsing\Encoder;
+
+$bilboQuote = "It’s a dangerous business, Frodo, going out your door. You step "
+            . "onto the road, and if you don't keep your feet, there’s no knowing "
+            . "where you might be swept off to.";
+            
+$encoder = new Encoder();
+echo $encoder->jsonEncode(['testing' => 'test']); // {"testing":"test"}
+echo $encoder->base64UrlEncode($bilboQuote);
+
+/*
+  That quote is used in RFC 7520 example (in UTF-8 encoding, sure),
+  and the output is (line breaks added for readbility):
+
+  SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4gWW
+  91IHN0ZXAgb250byB0aGUgcm9hZCwgYW5kIGlmIHlvdSBkb24ndCBrZWVwIHlvdXIgZmVldCwgdGhl
+  cmXigJlzIG5vIGtub3dpbmcgd2hlcmUgeW91IG1pZ2h0IGJlIHN3ZXB0IG9mZiB0by4
+ */ 
+```
+
+### Decoding
+
+The code is self-explaining (same as above):
+
+```php
+use Lcobucci\Jose\Parsing\Decoder;
+
+$bilboQuote = "SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4gWW"
+            . "91IHN0ZXAgb250byB0aGUgcm9hZCwgYW5kIGlmIHlvdSBkb24ndCBrZWVwIHlvdXIgZmVldCwgdGhl"
+            . "cmXigJlzIG5vIGtub3dpbmcgd2hlcmUgeW91IG1pZ2h0IGJlIHN3ZXB0IG9mZiB0by4";
+
+$decoder = new Decoder();
+var_dump($decoder->jsonDecode('{"testing":"test"}')); // object(stdClass)#1 (1) { ["testing"] => string(4) "test" }
+echo $decoder->base64UrlDecode($bilboQuote);
+
+/*
+  The output would be the same as the quote used in previous example:
+
+  "It’s a dangerous business, Frodo, going out your door. You step " 
+  "onto the road, and if you don't keep your feet, there’s no knowing " 
+  "where you might be swept off to."
+ */ 
+```

+ 42 - 0
vendor/lcobucci/jose-parsing/composer.json

@@ -0,0 +1,42 @@
+{
+    "name": "lcobucci/jose-parsing",
+    "description": "A basic Base64Url and JSON encoding/decoding implementation",
+    "type": "library",
+    "authors": [
+        {
+            "name": "Luís Otávio Cobucci Oblonczyk",
+            "email": "lcobucci@gmail.com",
+            "role": "Developer"
+        }
+    ],
+    "keywords": [
+        "JOSE",
+        "Base64Url"
+    ],
+    "license": [
+        "BSD-3-Clause"
+    ],
+    "require": {
+        "php": "^7.1"
+    },
+    "require-dev": {
+        "phpunit/phpunit": "^6.0",
+        "squizlabs/php_codesniffer": "^2.3",
+        "phpmd/phpmd": "^2.3"
+    },
+    "autoload": {
+        "psr-4": {
+            "Lcobucci\\Jose\\Parsing\\": "src"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "Lcobucci\\Jose\\Parsing\\": ["test"]
+        }
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.2-dev"
+        }
+    }
+}

+ 25 - 0
vendor/lcobucci/jose-parsing/phpunit.xml.dist

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
+    backupGlobals="false"
+    backupStaticAttributes="false"
+    colors="true"
+    verbose="true"
+    beStrictAboutOutputDuringTests="true"
+    beStrictAboutChangesToGlobalState="true"
+    beStrictAboutTestsThatDoNotTestAnything="true"
+    beStrictAboutTodoAnnotatedTests="true"
+    checkForUnintentionallyCoveredCode="true"
+    forceCoversAnnotation="true">
+	<testsuites>
+		<testsuite name="unit">
+			<directory>test</directory>
+		</testsuite>
+	</testsuites>
+
+    <filter>
+        <whitelist processUncoveredFilesFromWhitelist="true">
+            <directory suffix=".php">src</directory>
+        </whitelist>
+    </filter>
+</phpunit>

+ 40 - 0
vendor/lcobucci/jose-parsing/src/Decoder.php

@@ -0,0 +1,40 @@
+<?php
+/**
+ * This file is part of Lcobucci\Jose\Parsing, a simple library to encode and decode JOSE objects
+ *
+ * @license http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause
+ */
+
+declare(strict_types=1);
+
+namespace Lcobucci\Jose\Parsing;
+
+/**
+ * An utilitarian class that decodes data according with JOSE specifications
+ *
+ * @author Luís Otávio Cobucci Oblonczyk <lcobucci@gmail.com>
+ * @since 1.0.0
+ */
+interface Decoder
+{
+    /**
+     * Decodes from JSON, validating the errors
+     *
+     * @param string $json
+     * @return mixed
+     *
+     * @throws Exception When something goes wrong while decoding
+     */
+    public function jsonDecode(string $json);
+
+    /**
+     * Decodes from Base64URL
+     *
+     * @param string $data
+     *
+     * @return string
+     *
+     * @link http://tools.ietf.org/html/rfc4648#section-5
+     */
+    public function base64UrlDecode(string $data): string;
+}

+ 41 - 0
vendor/lcobucci/jose-parsing/src/Encoder.php

@@ -0,0 +1,41 @@
+<?php
+/**
+ * This file is part of Lcobucci\Jose\Parsing, a simple library to encode and decode JOSE objects
+ *
+ * @license http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause
+ */
+
+declare(strict_types=1);
+
+namespace Lcobucci\Jose\Parsing;
+
+/**
+ * An utilitarian class that encodes data according with JOSE specifications
+ *
+ * @author Luís Otávio Cobucci Oblonczyk <lcobucci@gmail.com>
+ * @since 1.0.0
+ */
+interface Encoder
+{
+    /**
+     * Encodes to JSON, validating the errors
+     *
+     * @param mixed $data
+     *
+     * @return string
+     *
+     * @throws Exception When something goes wrong while encoding
+     */
+    public function jsonEncode($data): string;
+
+    /**
+     * Encodes to base64url
+     *
+     * @param string $data
+     *
+     * @return string
+     *
+     * @link http://tools.ietf.org/html/rfc4648#section-5
+     */
+    public function base64UrlEncode(string $data): string;
+}

+ 20 - 0
vendor/lcobucci/jose-parsing/src/Exception.php

@@ -0,0 +1,20 @@
+<?php
+/**
+ * This file is part of Lcobucci\Jose\Parsing, a simple library to encode and decode JOSE objects
+ *
+ * @license http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause
+ */
+
+declare(strict_types=1);
+
+namespace Lcobucci\Jose\Parsing;
+
+/**
+ * An exception to be used when encoding or decoding
+ *
+ * @author Luís Otávio Cobucci Oblonczyk <lcobucci@gmail.com>
+ * @since 1.0.0
+ */
+final class Exception extends \RuntimeException
+{
+}

+ 75 - 0
vendor/lcobucci/jose-parsing/src/Parser.php

@@ -0,0 +1,75 @@
+<?php
+/**
+ * This file is part of Lcobucci\Jose\Parsing, a simple library to encode and decode JOSE objects
+ *
+ * @license http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause
+ */
+
+declare(strict_types=1);
+
+namespace Lcobucci\Jose\Parsing;
+
+/**
+ * An utilitarian class that encodes and decodes data according with JOSE specifications
+ *
+ * @author Luís Otávio Cobucci Oblonczyk <lcobucci@gmail.com>
+ * @since 2.1.0
+ */
+final class Parser implements Encoder, Decoder
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function jsonEncode($data): string
+    {
+        $json = json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
+        $this->verifyJsonError('Error while encoding to JSON');
+
+        return $json;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function jsonDecode(string $json)
+    {
+        $data = json_decode($json, true);
+        $this->verifyJsonError('Error while decoding from JSON');
+
+        return $data;
+    }
+
+    /**
+     * Throws a parsing exception when an error happened while encoding or decoding
+     *
+     * @param string $message
+     *
+     * @throws Exception
+     */
+    private function verifyJsonError(string $message): void
+    {
+        if (json_last_error() != JSON_ERROR_NONE) {
+            throw new Exception(sprintf('%s: %s', $message, json_last_error_msg()));
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function base64UrlEncode(string $data): string
+    {
+        return str_replace('=', '', strtr(base64_encode($data), '+/', '-_'));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function base64UrlDecode(string $data): string
+    {
+        if ($remainder = strlen($data) % 4) {
+            $data .= str_repeat('=', 4 - $remainder);
+        }
+
+        return base64_decode(strtr($data, '-_', '+/'));
+    }
+}

+ 171 - 0
vendor/lcobucci/jose-parsing/test/ParserTest.php

@@ -0,0 +1,171 @@
+<?php
+/**
+ * This file is part of Lcobucci\Jose\Parsing, a simple library to encode and decode JOSE objects
+ *
+ * @license http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause
+ */
+
+declare(strict_types=1);
+
+namespace Lcobucci\Jose\Parsing;
+
+/**
+ * @author Luís Otávio Cobucci Oblonczyk <lcobucci@gmail.com>
+ * @since 2.1.0
+ */
+final class ParserTest extends \PHPUnit\Framework\TestCase
+{
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::jsonEncode
+     * @covers \Lcobucci\Jose\Parsing\Parser::verifyJsonError
+     */
+    public function jsonEncodeMustReturnAJSONString(): void
+    {
+        $encoder = new Parser();
+
+        self::assertEquals('{"test":"test"}', $encoder->jsonEncode(['test' => 'test']));
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::jsonEncode
+     * @covers \Lcobucci\Jose\Parsing\Parser::verifyJsonError
+     */
+    public function jsonEncodeShouldNotEscapeUnicode(): void
+    {
+        $encoder = new Parser();
+
+        self::assertEquals('"汉语"', $encoder->jsonEncode('汉语'));
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::jsonEncode
+     * @covers \Lcobucci\Jose\Parsing\Parser::verifyJsonError
+     */
+    public function jsonEncodeShouldNotEscapeSlashes(): void
+    {
+        $encoder = new Parser();
+
+        self::assertEquals('"http://google.com"', $encoder->jsonEncode('http://google.com'));
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::jsonEncode
+     * @covers \Lcobucci\Jose\Parsing\Parser::verifyJsonError
+     *
+     * @expectedException \Lcobucci\Jose\Parsing\Exception
+     */
+    public function jsonEncodeMustRaiseExceptionWhenAnErrorHasOccurred(): void
+    {
+        $encoder = new Parser();
+        $encoder->jsonEncode("\xB1\x31");
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::jsonDecode
+     * @covers \Lcobucci\Jose\Parsing\Parser::verifyJsonError
+     */
+    public function jsonDecodeMustReturnTheDecodedData(): void
+    {
+        $decoder = new Parser();
+
+        self::assertEquals(
+            ['test' => ['test' => []]],
+            $decoder->jsonDecode('{"test":{"test":{}}}')
+        );
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::jsonDecode
+     * @covers \Lcobucci\Jose\Parsing\Parser::verifyJsonError
+     *
+     * @expectedException \Lcobucci\Jose\Parsing\Exception
+     */
+    public function jsonDecodeMustRaiseExceptionWhenAnErrorHasOccurred(): void
+    {
+        $decoder = new Parser();
+        $decoder->jsonDecode('{"test":\'test\'}');
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::base64UrlEncode
+     */
+    public function base64UrlEncodeMustReturnAnUrlSafeBase64(): void
+    {
+        $data = base64_decode('0MB2wKB+L3yvIdzeggmJ+5WOSLaRLTUPXbpzqUe0yuo=');
+
+        $encoder = new Parser();
+        self::assertEquals('0MB2wKB-L3yvIdzeggmJ-5WOSLaRLTUPXbpzqUe0yuo', $encoder->base64UrlEncode($data));
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::base64UrlEncode
+     *
+     * @link https://tools.ietf.org/html/rfc7520#section-4
+     */
+    public function base64UrlEncodeMustEncodeBilboMessageProperly(): void
+    {
+        $message = "It’s a dangerous business, Frodo, going out your door. You step "
+                   . "onto the road, and if you don't keep your feet, there’s no knowing "
+                   . "where you might be swept off to.";
+
+        $expected = 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IH'
+                    . 'lvdXIgZG9vci4gWW91IHN0ZXAgb250byB0aGUgcm9hZCwgYW5kIGlmIHlvdSBk'
+                    . 'b24ndCBrZWVwIHlvdXIgZmVldCwgdGhlcmXigJlzIG5vIGtub3dpbmcgd2hlcm'
+                    . 'UgeW91IG1pZ2h0IGJlIHN3ZXB0IG9mZiB0by4';
+
+        $encoder = new Parser();
+        self::assertEquals($expected, $encoder->base64UrlEncode($message));
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::base64UrlDecode
+     */
+    public function base64UrlDecodeMustReturnTheRightData(): void
+    {
+        $data = base64_decode('0MB2wKB+L3yvIdzeggmJ+5WOSLaRLTUPXbpzqUe0yuo=');
+
+        $decoder = new Parser();
+        self::assertEquals($data, $decoder->base64UrlDecode('0MB2wKB-L3yvIdzeggmJ-5WOSLaRLTUPXbpzqUe0yuo'));
+    }
+
+    /**
+     * @test
+     *
+     * @covers \Lcobucci\Jose\Parsing\Parser::base64UrlDecode
+     *
+     * @link https://tools.ietf.org/html/rfc7520#section-4
+     */
+    public function base64UrlDecodeMustDecodeBilboMessageProperly(): void
+    {
+        $message = 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IH'
+                   . 'lvdXIgZG9vci4gWW91IHN0ZXAgb250byB0aGUgcm9hZCwgYW5kIGlmIHlvdSBk'
+                   . 'b24ndCBrZWVwIHlvdXIgZmVldCwgdGhlcmXigJlzIG5vIGtub3dpbmcgd2hlcm'
+                   . 'UgeW91IG1pZ2h0IGJlIHN3ZXB0IG9mZiB0by4';
+
+        $expected = "It’s a dangerous business, Frodo, going out your door. You step "
+                    . "onto the road, and if you don't keep your feet, there’s no knowing "
+                    . "where you might be swept off to.";
+
+
+        $encoder = new Parser();
+        self::assertEquals($expected, $encoder->base64UrlDecode($message));
+    }
+}

+ 1 - 1
vendor/lcobucci/jwt

@@ -1 +1 @@
-Subproject commit a11ec5f4b4d75d1fcd04e133dede4c317aac9e18
+Subproject commit 30969dac05855cf0123b2a8809c77542aba85dfa

+ 0 - 0
vendor/yiisoft/yii2/yii