]> BookStack Code Mirror - bookstack/commitdiff
Merge branch 'master' of git://github.com/moutonnoireu/BookStack into moutonnoireu...
authorDan Brown <redacted>
Sun, 11 Feb 2018 11:44:09 +0000 (11:44 +0000)
committerDan Brown <redacted>
Sun, 11 Feb 2018 11:44:09 +0000 (11:44 +0000)
Also updated composer deps

1  2 
.env.example
app/Providers/EventServiceProvider.php
app/Services/SocialAuthService.php
composer.json
composer.lock
config/services.php

diff --combined .env.example
index 110b365004842c2ae221ce372f5ac1e2c83ba672,d06ef675b9dd85b8b2b276ebbb9525280d3175fe..86f99f30f8e77feed93aba6f5d1de65ddb750f12
@@@ -47,12 -47,10 +47,13 @@@ GITHUB_APP_SECRET=fals
  GOOGLE_APP_ID=false
  GOOGLE_APP_SECRET=false
  OKTA_BASE_URL=false
 -OKTA_KEY=false
 -OKTA_SECRET=false
 +OKTA_APP_ID=false
 +OKTA_APP_SECRET=false
+ TWITCH_APP_ID=false
+ TWITCH_APP_SECRET=false
 +GITLAB_APP_ID=false
 +GITLAB_APP_SECRET=false
 +GITLAB_BASE_URI=false
  
  # External services such as Gravatar
  DISABLE_EXTERNAL_SERVICES=false
index dec7b98c6804a110ebf076130360e912dd9e8ed0,5a690069c7e9f4852eb23b98753f0543838ce458..cc3e4d993afcb14c2af832c466be1f028bc93109
@@@ -18,7 -18,7 +18,8 @@@ class EventServiceProvider extends Serv
              'SocialiteProviders\Slack\SlackExtendSocialite@handle',
              'SocialiteProviders\Azure\AzureExtendSocialite@handle',
              'SocialiteProviders\Okta\OktaExtendSocialite@handle',
 +            'SocialiteProviders\GitLab\GitLabExtendSocialite@handle',
+             'SocialiteProviders\Twitch\TwitchExtendSocialite@handle',
          ],
      ];
  
index c31e67d0d95fc8f2af8a126954ec078558191cd0,6eb5202ae00faba72adf0862822ecf4eaf57cd52..02361e59bbbb4852d7460d527d3bcac9f3b6765c
@@@ -16,7 -16,7 +16,7 @@@ class SocialAuthServic
      protected $socialite;
      protected $socialAccount;
  
-     protected $validSocialDrivers = ['google', 'github', 'facebook', 'slack', 'twitter', 'azure', 'okta', 'gitlab'];
 -    protected $validSocialDrivers = ['google', 'github', 'facebook', 'slack', 'twitter', 'azure', 'okta', 'twitch'];
++    protected $validSocialDrivers = ['google', 'github', 'facebook', 'slack', 'twitter', 'azure', 'okta', 'gitlab', 'twitch'];
  
      /**
       * SocialAuthService constructor.
diff --combined composer.json
index 10b3592c8b4536234304083d70309cef1743787f,54eb3f26c0f42e65186f5875b844e243d3ad2dfd..5106ed0bb00c69eb51a75288cf2212519c77f539
@@@ -19,7 -19,7 +19,8 @@@
          "socialiteproviders/slack": "^3.0",
          "socialiteproviders/microsoft-azure": "^3.0",
          "socialiteproviders/okta": "^1.0",
-         "socialiteproviders/gitlab": "^3.0"
++        "socialiteproviders/gitlab": "^3.0",
+         "socialiteproviders/twitch": "^3.0"
      },
      "require-dev": {
          "filp/whoops": "~2.0",
diff --combined composer.lock
index f363557970f134f67ab20bef5c9a9a9a4d6423eb,bf9bc489f94c05d5849273d96545804975ab49d5..9370bebff530df225b03d58067003c030eae9138
@@@ -4,20 -4,20 +4,20 @@@
          "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
          "This file is @generated automatically"
      ],
-     "content-hash": "210685bb4ecd91f015682f5cf03ba84d",
 -    "content-hash": "96d5f23f0652b8093d7939e8c29bdf18",
++    "content-hash": "ed85d10e69b1071020178cb400a80e48",
      "packages": [
          {
              "name": "aws/aws-sdk-php",
-             "version": "3.45.3",
 -            "version": "3.52.2",
++            "version": "3.52.6",
              "source": {
                  "type": "git",
                  "url": "https://github.com/aws/aws-sdk-php.git",
-                 "reference": "d0abb0b1194fa64973b135191f56df991bc5787c"
 -                "reference": "69ba4e07288a532fe7635f7cdd73cffa6509f538"
++                "reference": "c9af7657eddc0267cc7ac4f969c10d5c18459992"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d0abb0b1194fa64973b135191f56df991bc5787c",
-                 "reference": "d0abb0b1194fa64973b135191f56df991bc5787c",
 -                "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/69ba4e07288a532fe7635f7cdd73cffa6509f538",
 -                "reference": "69ba4e07288a532fe7635f7cdd73cffa6509f538",
++                "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/c9af7657eddc0267cc7ac4f969c10d5c18459992",
++                "reference": "c9af7657eddc0267cc7ac4f969c10d5c18459992",
                  "shasum": ""
              },
              "require": {
                  "s3",
                  "sdk"
              ],
-             "time": "2017-12-08T21:36:50+00:00"
 -            "time": "2018-01-26T22:17:57+00:00"
++            "time": "2018-02-09T22:53:37+00:00"
          },
          {
              "name": "barryvdh/laravel-dompdf",
--            "version": "v0.8.1",
++            "version": "v0.8.2",
              "source": {
                  "type": "git",
                  "url": "https://github.com/barryvdh/laravel-dompdf.git",
--                "reference": "3b2235e589616331d68482d61b7763789a2600fe"
++                "reference": "7dcdecfa125c174d0abe723603633dc2756ea3af"
              },
              "dist": {
                  "type": "zip",
--                "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/3b2235e589616331d68482d61b7763789a2600fe",
--                "reference": "3b2235e589616331d68482d61b7763789a2600fe",
++                "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/7dcdecfa125c174d0abe723603633dc2756ea3af",
++                "reference": "7dcdecfa125c174d0abe723603633dc2756ea3af",
                  "shasum": ""
              },
              "require": {
                  "dompdf/dompdf": "^0.8",
--                "illuminate/support": "5.1.x|5.2.x|5.3.x|5.4.x|5.5.x",
++                "illuminate/support": "5.1.x|5.2.x|5.3.x|5.4.x|5.5.x|5.6.x",
                  "php": ">=5.5.9"
              },
              "type": "library",
                  "laravel",
                  "pdf"
              ],
--            "time": "2017-07-29T19:01:17+00:00"
++            "time": "2018-02-07T17:43:25+00:00"
          },
          {
              "name": "barryvdh/laravel-snappy",
--            "version": "v0.4.0",
++            "version": "v0.4.1",
              "source": {
                  "type": "git",
                  "url": "https://github.com/barryvdh/laravel-snappy.git",
--                "reference": "f08c7e5b4ddea585bfcd48ab4f40f920e58dd1cf"
++                "reference": "5f6e7f3ba15c867d1b8e2885d454110270616ebe"
              },
              "dist": {
                  "type": "zip",
--                "url": "https://api.github.com/repos/barryvdh/laravel-snappy/zipball/f08c7e5b4ddea585bfcd48ab4f40f920e58dd1cf",
--                "reference": "f08c7e5b4ddea585bfcd48ab4f40f920e58dd1cf",
++                "url": "https://api.github.com/repos/barryvdh/laravel-snappy/zipball/5f6e7f3ba15c867d1b8e2885d454110270616ebe",
++                "reference": "5f6e7f3ba15c867d1b8e2885d454110270616ebe",
                  "shasum": ""
              },
              "require": {
--                "illuminate/filesystem": "5.0.x|5.1.x|5.2.x|5.3.x|5.4.x|5.5.x",
--                "illuminate/support": "5.0.x|5.1.x|5.2.x|5.3.x|5.4.x|5.5.x",
--                "knplabs/knp-snappy": "*",
++                "illuminate/filesystem": "5.0.x|5.1.x|5.2.x|5.3.x|5.4.x|5.5.x|5.6.x",
++                "illuminate/support": "5.0.x|5.1.x|5.2.x|5.3.x|5.4.x|5.5.x|5.6.x",
++                "knplabs/knp-snappy": "^1",
                  "php": ">=5.4.0"
              },
              "type": "library",
              "extra": {
                  "branch-alias": {
--                    "dev-master": "0.3-dev"
++                    "dev-master": "0.4-dev"
                  },
                  "laravel": {
                      "providers": [
                  "wkhtmltoimage",
                  "wkhtmltopdf"
              ],
--            "time": "2017-08-14T06:48:50+00:00"
++            "time": "2018-02-08T15:58:26+00:00"
          },
          {
              "name": "cogpowered/finediff",
          },
          {
              "name": "knplabs/knp-snappy",
-             "version": "v1.0.3",
+             "version": "v1.0.4",
              "source": {
                  "type": "git",
                  "url": "https://github.com/KnpLabs/snappy.git",
-                 "reference": "68590ef3aa94425b1c0019cc28ce471729f51fcb"
+                 "reference": "144c4ecd1ccaeda936bf832b93079efc490e6850"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/KnpLabs/snappy/zipball/68590ef3aa94425b1c0019cc28ce471729f51fcb",
-                 "reference": "68590ef3aa94425b1c0019cc28ce471729f51fcb",
+                 "url": "https://api.github.com/repos/KnpLabs/snappy/zipball/144c4ecd1ccaeda936bf832b93079efc490e6850",
+                 "reference": "144c4ecd1ccaeda936bf832b93079efc490e6850",
                  "shasum": ""
              },
              "require": {
                  "thumbnail",
                  "wkhtmltopdf"
              ],
-             "time": "2017-12-03T23:18:18+00:00"
+             "time": "2018-01-22T19:40:51+00:00"
          },
          {
              "name": "laravel/framework",
-             "version": "v5.5.24",
 -            "version": "v5.5.32",
++            "version": "v5.5.34",
              "source": {
                  "type": "git",
                  "url": "https://github.com/laravel/framework.git",
-                 "reference": "06135405bb1f736dac5e9529ed1541fc446c9c0f"
 -                "reference": "254e4c3e133f5bc8d6068cdf28ea062abc10adf2"
++                "reference": "1de7c0aec13eadbdddc2d1ba4019b064b2c6b966"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/laravel/framework/zipball/06135405bb1f736dac5e9529ed1541fc446c9c0f",
-                 "reference": "06135405bb1f736dac5e9529ed1541fc446c9c0f",
 -                "url": "https://api.github.com/repos/laravel/framework/zipball/254e4c3e133f5bc8d6068cdf28ea062abc10adf2",
 -                "reference": "254e4c3e133f5bc8d6068cdf28ea062abc10adf2",
++                "url": "https://api.github.com/repos/laravel/framework/zipball/1de7c0aec13eadbdddc2d1ba4019b064b2c6b966",
++                "reference": "1de7c0aec13eadbdddc2d1ba4019b064b2c6b966",
                  "shasum": ""
              },
              "require": {
                  "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~6.0).",
                  "laravel/tinker": "Required to use the tinker console command (~1.0).",
                  "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).",
+                 "league/flysystem-cached-adapter": "Required to use Flysystem caching (~1.0).",
                  "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).",
                  "nexmo/client": "Required to use the Nexmo transport (~1.0).",
                  "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).",
                  "framework",
                  "laravel"
              ],
-             "time": "2017-12-07T01:28:21+00:00"
 -            "time": "2018-01-18T13:27:23+00:00"
++            "time": "2018-02-06T15:36:55+00:00"
          },
          {
              "name": "laravel/socialite",
          },
          {
              "name": "league/flysystem",
-             "version": "1.0.41",
+             "version": "1.0.42",
              "source": {
                  "type": "git",
                  "url": "https://github.com/thephpleague/flysystem.git",
-                 "reference": "f400aa98912c561ba625ea4065031b7a41e5a155"
+                 "reference": "09eabc54e199950041aef258a85847676496fe8e"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f400aa98912c561ba625ea4065031b7a41e5a155",
-                 "reference": "f400aa98912c561ba625ea4065031b7a41e5a155",
+                 "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/09eabc54e199950041aef258a85847676496fe8e",
+                 "reference": "09eabc54e199950041aef258a85847676496fe8e",
                  "shasum": ""
              },
              "require": {
              },
              "require-dev": {
                  "ext-fileinfo": "*",
-                 "mockery/mockery": "~0.9",
-                 "phpspec/phpspec": "^2.2",
-                 "phpunit/phpunit": "~4.8"
+                 "phpspec/phpspec": "^3.4",
+                 "phpunit/phpunit": "^5.7"
              },
              "suggest": {
                  "ext-fileinfo": "Required for MimeType",
+                 "ext-ftp": "Allows you to use FTP server storage",
+                 "ext-openssl": "Allows you to use FTPS server storage",
                  "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
                  "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
                  "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
                  "sftp",
                  "storage"
              ],
-             "time": "2017-08-06T17:41:04+00:00"
+             "time": "2018-01-27T16:03:56+00:00"
          },
          {
              "name": "league/flysystem-aws-s3-v3",
          },
          {
              "name": "ramsey/uuid",
-             "version": "3.7.1",
+             "version": "3.7.3",
              "source": {
                  "type": "git",
                  "url": "https://github.com/ramsey/uuid.git",
-                 "reference": "45cffe822057a09e05f7bd09ec5fb88eeecd2334"
+                 "reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/ramsey/uuid/zipball/45cffe822057a09e05f7bd09ec5fb88eeecd2334",
-                 "reference": "45cffe822057a09e05f7bd09ec5fb88eeecd2334",
+                 "url": "https://api.github.com/repos/ramsey/uuid/zipball/44abcdad877d9a46685a3a4d221e3b2c4b87cb76",
+                 "reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76",
                  "shasum": ""
              },
              "require": {
                  "rhumsaa/uuid": "self.version"
              },
              "require-dev": {
-                 "apigen/apigen": "^4.1",
-                 "codeception/aspect-mock": "^1.0 | ^2.0",
+                 "codeception/aspect-mock": "^1.0 | ~2.0.0",
                  "doctrine/annotations": "~1.2.0",
                  "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ^2.1",
                  "ircmaxell/random-lib": "^1.1",
                  "jakub-onderka/php-parallel-lint": "^0.9.0",
-                 "mockery/mockery": "^0.9.4",
+                 "mockery/mockery": "^0.9.9",
                  "moontoast/math": "^1.1",
                  "php-mock/php-mock-phpunit": "^0.3|^1.1",
-                 "phpunit/phpunit": "^4.7|>=5.0 <5.4",
-                 "satooshi/php-coveralls": "^0.6.1",
+                 "phpunit/phpunit": "^4.7|^5.0",
                  "squizlabs/php_codesniffer": "^2.3"
              },
              "suggest": {
                  "identifier",
                  "uuid"
              ],
-             "time": "2017-09-22T20:46:04+00:00"
+             "time": "2018-01-20T00:28:24+00:00"
          },
          {
              "name": "sabberworm/php-css-parser",
              ],
              "time": "2016-07-19T19:14:21+00:00"
          },
 +        {
 +            "name": "socialiteproviders/gitlab",
 +            "version": "v3.0.1",
 +            "source": {
 +                "type": "git",
 +                "url": "https://github.com/SocialiteProviders/GitLab.git",
 +                "reference": "c96dc004563a3caf157608fe9aa9e45c79065d00"
 +            },
 +            "dist": {
 +                "type": "zip",
 +                "url": "https://api.github.com/repos/SocialiteProviders/GitLab/zipball/c96dc004563a3caf157608fe9aa9e45c79065d00",
 +                "reference": "c96dc004563a3caf157608fe9aa9e45c79065d00",
 +                "shasum": ""
 +            },
 +            "require": {
 +                "php": "^5.6 || ^7.0",
 +                "socialiteproviders/manager": "~3.0"
 +            },
 +            "type": "library",
 +            "autoload": {
 +                "psr-4": {
 +                    "SocialiteProviders\\GitLab\\": ""
 +                }
 +            },
 +            "notification-url": "https://packagist.org/downloads/",
 +            "license": [
 +                "MIT"
 +            ],
 +            "authors": [
 +                {
 +                    "name": "Christoffer Martinsen",
 +                    "email": "[email protected]"
 +                }
 +            ],
 +            "description": "GitLab OAuth2 Provider for Laravel Socialite",
 +            "time": "2017-01-31T05:06:13+00:00"
 +        },
          {
              "name": "socialiteproviders/manager",
-             "version": "v3.3.0",
+             "version": "v3.3.1",
              "source": {
                  "type": "git",
                  "url": "https://github.com/SocialiteProviders/Manager.git",
-                 "reference": "ac108bce073135a55dfebf28ceaf1459669348e8"
+                 "reference": "1de3f3d874392da6f1a4c0bf30d843e9cd903ea7"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/ac108bce073135a55dfebf28ceaf1459669348e8",
-                 "reference": "ac108bce073135a55dfebf28ceaf1459669348e8",
+                 "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/1de3f3d874392da6f1a4c0bf30d843e9cd903ea7",
+                 "reference": "1de3f3d874392da6f1a4c0bf30d843e9cd903ea7",
                  "shasum": ""
              },
              "require": {
                  }
              ],
              "description": "Easily add new or override built-in providers in Laravel Socialite.",
-             "time": "2017-09-21T07:21:55+00:00"
+             "time": "2017-11-20T08:42:57+00:00"
          },
          {
              "name": "socialiteproviders/microsoft-azure",
              "description": "Slack OAuth2 Provider for Laravel Socialite",
              "time": "2017-04-10T05:10:48+00:00"
          },
+         {
+             "name": "socialiteproviders/twitch",
+             "version": "v3.0.0",
+             "source": {
+                 "type": "git",
+                 "url": "https://github.com/SocialiteProviders/Twitch.git",
+                 "reference": "a7ad148c0b42d0c607d8a034b6e47faf5fc85e93"
+             },
+             "dist": {
+                 "type": "zip",
+                 "url": "https://api.github.com/repos/SocialiteProviders/Twitch/zipball/a7ad148c0b42d0c607d8a034b6e47faf5fc85e93",
+                 "reference": "a7ad148c0b42d0c607d8a034b6e47faf5fc85e93",
+                 "shasum": ""
+             },
+             "require": {
+                 "php": "^5.6 || ^7.0",
+                 "socialiteproviders/manager": "~3.0"
+             },
+             "type": "library",
+             "autoload": {
+                 "psr-4": {
+                     "SocialiteProviders\\Twitch\\": ""
+                 }
+             },
+             "notification-url": "https://packagist.org/downloads/",
+             "license": [
+                 "MIT"
+             ],
+             "authors": [
+                 {
+                     "name": "Brian Faust",
+                     "email": "[email protected]"
+                 }
+             ],
+             "description": "Twitch OAuth2 Provider for Laravel Socialite",
+             "time": "2017-01-25T09:48:29+00:00"
+         },
          {
              "name": "swiftmailer/swiftmailer",
              "version": "v6.0.2",
          },
          {
              "name": "symfony/polyfill-mbstring",
--            "version": "v1.6.0",
++            "version": "v1.7.0",
              "source": {
                  "type": "git",
                  "url": "https://github.com/symfony/polyfill-mbstring.git",
--                "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
++                "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
              },
              "dist": {
                  "type": "zip",
--                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
--                "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
++                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
++                "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
                  "shasum": ""
              },
              "require": {
              "type": "library",
              "extra": {
                  "branch-alias": {
--                    "dev-master": "1.6-dev"
++                    "dev-master": "1.7-dev"
                  }
              },
              "autoload": {
                  "portable",
                  "shim"
              ],
--            "time": "2017-10-11T12:05:26+00:00"
++            "time": "2018-01-30T19:27:44+00:00"
          },
          {
              "name": "symfony/process",
          },
          {
              "name": "tijsverkoyen/css-to-inline-styles",
-             "version": "2.2.0",
+             "version": "2.2.1",
              "source": {
                  "type": "git",
                  "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
-                 "reference": "ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b"
+                 "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b",
-                 "reference": "ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b",
+                 "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757",
+                 "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757",
                  "shasum": ""
              },
              "require": {
-                 "php": "^5.5 || ^7",
-                 "symfony/css-selector": "^2.7|~3.0"
+                 "php": "^5.5 || ^7.0",
+                 "symfony/css-selector": "^2.7 || ^3.0 || ^4.0"
              },
              "require-dev": {
-                 "phpunit/phpunit": "~4.8|5.1.*"
+                 "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
              },
              "type": "library",
              "extra": {
                  "branch-alias": {
-                     "dev-master": "2.0.x-dev"
+                     "dev-master": "2.2.x-dev"
                  }
              },
              "autoload": {
              ],
              "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
              "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
-             "time": "2016-09-20T12:50:39+00:00"
+             "time": "2017-11-27T11:13:29+00:00"
          },
          {
              "name": "vlucas/phpdotenv",
      "packages-dev": [
          {
              "name": "barryvdh/laravel-debugbar",
--            "version": "v3.1.0",
++            "version": "v3.1.1",
              "source": {
                  "type": "git",
                  "url": "https://github.com/barryvdh/laravel-debugbar.git",
--                "reference": "01a859752094e00aa8548832312366753272f8af"
++                "reference": "f0018d359a2ad6968ad11b283283a925e017f3c9"
              },
              "dist": {
                  "type": "zip",
--                "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/01a859752094e00aa8548832312366753272f8af",
--                "reference": "01a859752094e00aa8548832312366753272f8af",
++                "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/f0018d359a2ad6968ad11b283283a925e017f3c9",
++                "reference": "f0018d359a2ad6968ad11b283283a925e017f3c9",
                  "shasum": ""
              },
              "require": {
--                "illuminate/routing": "5.5.x",
--                "illuminate/session": "5.5.x",
--                "illuminate/support": "5.5.x",
--                "maximebf/debugbar": "~1.14.0",
++                "illuminate/routing": "5.5.x|5.6.x",
++                "illuminate/session": "5.5.x|5.6.x",
++                "illuminate/support": "5.5.x|5.6.x",
++                "maximebf/debugbar": "~1.15.0",
                  "php": ">=7.0",
--                "symfony/debug": "^3",
--                "symfony/finder": "^3"
++                "symfony/debug": "^3|^4",
++                "symfony/finder": "^3|^4"
              },
              "require-dev": {
                  "illuminate/framework": "5.5.x"
              "type": "library",
              "extra": {
                  "branch-alias": {
--                    "dev-master": "3.0-dev"
++                    "dev-master": "3.2-dev"
                  },
                  "laravel": {
                      "providers": [
                  "profiler",
                  "webprofiler"
              ],
--            "time": "2017-09-18T13:32:46+00:00"
++            "time": "2018-02-07T08:29:09+00:00"
          },
          {
              "name": "barryvdh/laravel-ide-helper",
--            "version": "v2.4.1",
++            "version": "v2.4.3",
              "source": {
                  "type": "git",
                  "url": "https://github.com/barryvdh/laravel-ide-helper.git",
--                "reference": "2b1273c45e2f8df7a625563e2283a17c14f02ae8"
++                "reference": "5c304db44fba8e9c4aa0c09739e59f7be7736fdd"
              },
              "dist": {
                  "type": "zip",
--                "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/2b1273c45e2f8df7a625563e2283a17c14f02ae8",
--                "reference": "2b1273c45e2f8df7a625563e2283a17c14f02ae8",
++                "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/5c304db44fba8e9c4aa0c09739e59f7be7736fdd",
++                "reference": "5c304db44fba8e9c4aa0c09739e59f7be7736fdd",
                  "shasum": ""
              },
              "require": {
                  "barryvdh/reflection-docblock": "^2.0.4",
--                "illuminate/console": "^5.0,<5.6",
--                "illuminate/filesystem": "^5.0,<5.6",
--                "illuminate/support": "^5.0,<5.6",
++                "illuminate/console": "^5.0,<5.7",
++                "illuminate/filesystem": "^5.0,<5.7",
++                "illuminate/support": "^5.0,<5.7",
                  "php": ">=5.4.0",
                  "symfony/class-loader": "^2.3|^3.0"
              },
              "require-dev": {
                  "doctrine/dbal": "~2.3",
--                "illuminate/config": "^5.0,<5.6",
--                "illuminate/view": "^5.0,<5.6",
++                "illuminate/config": "^5.0,<5.7",
++                "illuminate/view": "^5.0,<5.7",
                  "phpunit/phpunit": "4.*",
                  "scrutinizer/ocular": "~1.1",
                  "squizlabs/php_codesniffer": "~2.3"
                  "phpstorm",
                  "sublime"
              ],
--            "time": "2017-07-16T00:24:12+00:00"
++            "time": "2018-02-08T07:56:07+00:00"
          },
          {
              "name": "barryvdh/reflection-docblock",
          },
          {
              "name": "maximebf/debugbar",
--            "version": "v1.14.1",
++            "version": "v1.15.0",
              "source": {
                  "type": "git",
                  "url": "https://github.com/maximebf/php-debugbar.git",
--                "reference": "64251a392344e3d22f3d21c3b7c531ba96eb01d2"
++                "reference": "30e7d60937ee5f1320975ca9bc7bcdd44d500f07"
              },
              "dist": {
                  "type": "zip",
--                "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/64251a392344e3d22f3d21c3b7c531ba96eb01d2",
--                "reference": "64251a392344e3d22f3d21c3b7c531ba96eb01d2",
++                "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/30e7d60937ee5f1320975ca9bc7bcdd44d500f07",
++                "reference": "30e7d60937ee5f1320975ca9bc7bcdd44d500f07",
                  "shasum": ""
              },
              "require": {
                  "php": ">=5.3.0",
                  "psr/log": "^1.0",
--                "symfony/var-dumper": "^2.6|^3.0"
++                "symfony/var-dumper": "^2.6|^3.0|^4.0"
              },
              "require-dev": {
                  "phpunit/phpunit": "^4.0|^5.0"
                  "debug",
                  "debugbar"
              ],
--            "time": "2017-09-13T12:19:36+00:00"
++            "time": "2017-12-15T11:13:46+00:00"
          },
          {
              "name": "mockery/mockery",
          },
          {
              "name": "phpdocumentor/reflection-docblock",
-             "version": "4.2.0",
+             "version": "4.3.0",
              "source": {
                  "type": "git",
                  "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-                 "reference": "66465776cfc249844bde6d117abff1d22e06c2da"
+                 "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66465776cfc249844bde6d117abff1d22e06c2da",
-                 "reference": "66465776cfc249844bde6d117abff1d22e06c2da",
+                 "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
+                 "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
                  "shasum": ""
              },
              "require": {
                  }
              ],
              "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
-             "time": "2017-11-27T17:38:31+00:00"
+             "time": "2017-11-30T07:14:17+00:00"
          },
          {
              "name": "phpdocumentor/type-resolver",
          },
          {
              "name": "phpunit/phpunit",
-             "version": "6.5.3",
 -            "version": "6.5.5",
++            "version": "6.5.6",
              "source": {
                  "type": "git",
                  "url": "https://github.com/sebastianbergmann/phpunit.git",
-                 "reference": "882e886cc928a0abd3c61282b2a64026237d14a4"
 -                "reference": "83d27937a310f2984fd575686138597147bdc7df"
++                "reference": "3330ef26ade05359d006041316ed0fa9e8e3cefe"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/882e886cc928a0abd3c61282b2a64026237d14a4",
-                 "reference": "882e886cc928a0abd3c61282b2a64026237d14a4",
 -                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/83d27937a310f2984fd575686138597147bdc7df",
 -                "reference": "83d27937a310f2984fd575686138597147bdc7df",
++                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3330ef26ade05359d006041316ed0fa9e8e3cefe",
++                "reference": "3330ef26ade05359d006041316ed0fa9e8e3cefe",
                  "shasum": ""
              },
              "require": {
                  "phpunit/php-file-iterator": "^1.4.3",
                  "phpunit/php-text-template": "^1.2.1",
                  "phpunit/php-timer": "^1.0.9",
-                 "phpunit/phpunit-mock-objects": "^5.0.4",
+                 "phpunit/phpunit-mock-objects": "^5.0.5",
                  "sebastian/comparator": "^2.1",
                  "sebastian/diff": "^2.0",
                  "sebastian/environment": "^3.1",
                  "testing",
                  "xunit"
              ],
-             "time": "2017-12-06T09:42:03+00:00"
 -            "time": "2017-12-17T06:31:19+00:00"
++            "time": "2018-02-01T05:57:37+00:00"
          },
          {
              "name": "phpunit/phpunit-mock-objects",
-             "version": "5.0.4",
+             "version": "5.0.6",
              "source": {
                  "type": "git",
                  "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-                 "reference": "16b50f4167e5e85e81ca8a3dd105d0a5fd32009a"
+                 "reference": "33fd41a76e746b8fa96d00b49a23dadfa8334cdf"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/16b50f4167e5e85e81ca8a3dd105d0a5fd32009a",
-                 "reference": "16b50f4167e5e85e81ca8a3dd105d0a5fd32009a",
+                 "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/33fd41a76e746b8fa96d00b49a23dadfa8334cdf",
+                 "reference": "33fd41a76e746b8fa96d00b49a23dadfa8334cdf",
                  "shasum": ""
              },
              "require": {
                  "doctrine/instantiator": "^1.0.5",
                  "php": "^7.0",
                  "phpunit/php-text-template": "^1.2.1",
-                 "sebastian/exporter": "^3.0"
+                 "sebastian/exporter": "^3.1"
              },
              "conflict": {
                  "phpunit/phpunit": "<6.0"
                  "mock",
                  "xunit"
              ],
-             "time": "2017-12-02T05:31:19+00:00"
+             "time": "2018-01-06T05:45:45+00:00"
          },
          {
              "name": "sebastian/code-unit-reverse-lookup",
          },
          {
              "name": "sebastian/comparator",
-             "version": "2.1.0",
 -            "version": "2.1.2",
++            "version": "2.1.3",
              "source": {
                  "type": "git",
                  "url": "https://github.com/sebastianbergmann/comparator.git",
-                 "reference": "1174d9018191e93cb9d719edec01257fc05f8158"
 -                "reference": "11c07feade1d65453e06df3b3b90171d6d982087"
++                "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1174d9018191e93cb9d719edec01257fc05f8158",
-                 "reference": "1174d9018191e93cb9d719edec01257fc05f8158",
 -                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/11c07feade1d65453e06df3b3b90171d6d982087",
 -                "reference": "11c07feade1d65453e06df3b3b90171d6d982087",
++                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
++                "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
                  "shasum": ""
              },
              "require": {
                  "php": "^7.0",
--                "sebastian/diff": "^2.0",
++                "sebastian/diff": "^2.0 || ^3.0",
                  "sebastian/exporter": "^3.1"
              },
              "require-dev": {
                  "compare",
                  "equality"
              ],
-             "time": "2017-11-03T07:16:52+00:00"
 -            "time": "2018-01-12T06:34:42+00:00"
++            "time": "2018-02-01T13:46:46+00:00"
          },
          {
              "name": "sebastian/diff",
          },
          {
              "name": "webmozart/assert",
-             "version": "1.2.0",
+             "version": "1.3.0",
              "source": {
                  "type": "git",
                  "url": "https://github.com/webmozart/assert.git",
-                 "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f"
+                 "reference": "0df1908962e7a3071564e857d86874dad1ef204a"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f",
-                 "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
+                 "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a",
+                 "reference": "0df1908962e7a3071564e857d86874dad1ef204a",
                  "shasum": ""
              },
              "require": {
                  "check",
                  "validate"
              ],
-             "time": "2016-11-23T20:04:58+00:00"
+             "time": "2018-01-29T19:49:41+00:00"
          }
      ],
      "aliases": [],
diff --combined config/services.php
index 31d5a09cf825e42b1cc732307126aece5abe04aa,81f2af36047d1e1ed4614498b447e023b5266701..8b602a5d5b5ea96e9c29201740a3b254a4d1c605
@@@ -94,14 -94,13 +94,21 @@@ return 
          'name'          => 'Okta',
      ],
  
 +    'gitlab' => [
 +        'client_id'     => env('GITLAB_APP_ID'),
 +        'client_secret' => env('GITLAB_APP_SECRET'),
 +        'redirect'      => env('APP_URL') . '/login/service/gitlab/callback',
 +        'instance_uri'  => env('GITLAB_BASE_URI'), // needs only for GitLab self hosted
 +        'name'          => 'Gitlab',
 +    ],
 +
+     'twitch' => [
+         'client_id' => env('TWITCH_APP_ID'),
+         'client_secret' => env('TWITCH_APP_SECRET'),
+         'redirect' => env('APP_URL') . '/login/service/twitch/callback',
+         'name'          => 'Twitch',
+     ],
      'ldap' => [
          'server' => env('LDAP_SERVER', false),
          'dn' => env('LDAP_DN', false),