]> BookStack Code Mirror - bookstack/commitdiff
Merge branch 'oidc'
authorDan Brown <redacted>
Sat, 16 Oct 2021 14:50:50 +0000 (15:50 +0100)
committerDan Brown <redacted>
Sat, 16 Oct 2021 14:51:13 +0000 (15:51 +0100)
1  2 
app/Config/auth.php
app/Providers/AppServiceProvider.php
composer.json
composer.lock
tests/Auth/AuthTest.php

diff --combined app/Config/auth.php
index 23b9039b97028d5372a217d92e2635446a46d672,5a5e727e563e4cc437f88304b4c0583aa50ffca5..69da69bf1195202524de8ec25736ececd29c6982
@@@ -11,7 -11,7 +11,7 @@@
  return [
  
      // Method of authentication to use
-     // Options: standard, ldap, saml2
+     // Options: standard, ldap, saml2, oidc
      'method' => env('AUTH_METHOD', 'standard'),
  
      // Authentication Defaults
@@@ -26,7 -26,7 +26,7 @@@
      // All authentication drivers have a user provider. This defines how the
      // users are actually retrieved out of your database or other storage
      // mechanisms used by this application to persist your user's data.
-     // Supported drivers: "session", "api-token", "ldap-session"
+     // Supported drivers: "session", "api-token", "ldap-session", "async-external-session"
      'guards' => [
          'standard' => [
              'driver'   => 'session',
              'provider' => 'external',
          ],
          'saml2' => [
-             'driver'   => 'saml2-session',
+             'driver'   => 'async-external-session',
+             'provider' => 'external',
+         ],
+         'oidc' => [
+             'driver' => 'async-external-session',
              'provider' => 'external',
          ],
          'api' => [
@@@ -70,7 -74,6 +74,7 @@@
              'email'    => 'emails.password',
              'table'    => 'password_resets',
              'expire'   => 60,
 +            'throttle' => 60,
          ],
      ],
  
index 4446c2a0a04aba5f706e9ecc6ff14fe8d4f88167,5fce642cf6b85e02f6b11bcdd94492aff041c91d..da41de6513a189e1403ec24b3b41e2388131d322
@@@ -9,10 -9,10 +9,11 @@@ use BookStack\Entities\Models\Book
  use BookStack\Entities\Models\Bookshelf;
  use BookStack\Entities\Models\Chapter;
  use BookStack\Entities\Models\Page;
 +use BookStack\Exceptions\WhoopsBookStackPrettyHandler;
  use BookStack\Settings\Setting;
  use BookStack\Settings\SettingService;
  use BookStack\Util\CspService;
+ use GuzzleHttp\Client;
  use Illuminate\Contracts\Cache\Repository;
  use Illuminate\Database\Eloquent\Relations\Relation;
  use Illuminate\Support\Facades\Blade;
@@@ -21,7 -21,7 +22,8 @@@ use Illuminate\Support\Facades\URL
  use Illuminate\Support\Facades\View;
  use Illuminate\Support\ServiceProvider;
  use Laravel\Socialite\Contracts\Factory as SocialiteFactory;
 +use Whoops\Handler\HandlerInterface;
+ use Psr\Http\Client\ClientInterface as HttpClientInterface;
  
  class AppServiceProvider extends ServiceProvider
  {
       */
      public function register()
      {
 +        $this->app->bind(HandlerInterface::class, function ($app) {
 +            return $app->make(WhoopsBookStackPrettyHandler::class);
 +        });
 +
          $this->app->singleton(SettingService::class, function ($app) {
              return new SettingService($app->make(Setting::class), $app->make(Repository::class));
          });
          $this->app->singleton(CspService::class, function ($app) {
              return new CspService();
          });
+         $this->app->bind(HttpClientInterface::class, function($app) {
+             return new Client([
+                 'timeout' => 3,
+             ]);
+         });
      }
  }
diff --combined composer.json
index e59b0d1f0518cecfd9ea3511c5af06b3a059af65,dc281e5a811ba339effd60ad7d4915a8b33af46c..fa2c0c2b51b124eb2283b9531133e1aca8ec686d
          "barryvdh/laravel-dompdf": "^0.9.0",
          "barryvdh/laravel-snappy": "^0.4.8",
          "doctrine/dbal": "^2.12.1",
 -        "facade/ignition": "^1.16.4",
          "fideloper/proxy": "^4.4.1",
 +        "filp/whoops": "^2.14",
          "intervention/image": "^2.5.1",
          "laravel/framework": "^6.20.33",
          "laravel/socialite": "^5.1",
          "league/commonmark": "^1.5",
          "league/flysystem-aws-s3-v3": "^1.0.29",
          "league/html-to-markdown": "^5.0.0",
+         "league/oauth2-client": "^2.6",
          "nunomaduro/collision": "^3.1",
          "onelogin/php-saml": "^4.0",
+         "phpseclib/phpseclib": "~3.0",
          "pragmarx/google2fa": "^8.0",
          "predis/predis": "^1.1.6",
          "socialiteproviders/discord": "^4.1",
diff --combined composer.lock
index dee5aff4cd6e5172ae053755150dd6a03c655265,89e408eb9198ba5d4a5f4c624b983bccae545f87..f8a13ba8b58208397348ee805a00a95b8f96e1d9
@@@ -4,7 -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": "d59a665fcd692fc0ddf12e7e4f96d4f1",
 -    "content-hash": "b82cfdfe8bb32847ba2188804858d5fd",
++    "content-hash": "fc6d8f731e3975127a9101802cc4bb3a",
      "packages": [
          {
              "name": "aws/aws-crt-php",
          },
          {
              "name": "aws/aws-sdk-php",
-             "version": "3.198.5",
 -            "version": "3.197.0",
++            "version": "3.198.6",
              "source": {
                  "type": "git",
                  "url": "https://github.com/aws/aws-sdk-php.git",
-                 "reference": "ec63e1ad1b30689e530089e4c9cb18f2ef5c290b"
 -                "reference": "c5391ef7c979473b97d81329100bfa5fb018fa62"
++                "reference": "821b8db50dd39be8ec94f286050a500b5f8a0142"
              },
              "dist": {
                  "type": "zip",
-                 "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/ec63e1ad1b30689e530089e4c9cb18f2ef5c290b",
-                 "reference": "ec63e1ad1b30689e530089e4c9cb18f2ef5c290b",
 -                "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/c5391ef7c979473b97d81329100bfa5fb018fa62",
 -                "reference": "c5391ef7c979473b97d81329100bfa5fb018fa62",
++                "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/821b8db50dd39be8ec94f286050a500b5f8a0142",
++                "reference": "821b8db50dd39be8ec94f286050a500b5f8a0142",
                  "shasum": ""
              },
              "require": {
              "support": {
                  "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
                  "issues": "https://github.com/aws/aws-sdk-php/issues",
-                 "source": "https://github.com/aws/aws-sdk-php/tree/3.198.5"
 -                "source": "https://github.com/aws/aws-sdk-php/tree/3.197.0"
++                "source": "https://github.com/aws/aws-sdk-php/tree/3.198.6"
              },
-             "time": "2021-10-14T18:15:37+00:00"
 -            "time": "2021-10-05T18:14:34+00:00"
++            "time": "2021-10-15T18:38:53+00:00"
          },
          {
              "name": "bacon/bacon-qr-code",
              ],
              "time": "2020-12-29T14:50:06+00:00"
          },
 -        {
 -            "name": "facade/flare-client-php",
 -            "version": "1.9.1",
 -            "source": {
 -                "type": "git",
 -                "url": "https://github.com/facade/flare-client-php.git",
 -                "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed"
 -            },
 -            "dist": {
 -                "type": "zip",
 -                "url": "https://api.github.com/repos/facade/flare-client-php/zipball/b2adf1512755637d0cef4f7d1b54301325ac78ed",
 -                "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed",
 -                "shasum": ""
 -            },
 -            "require": {
 -                "facade/ignition-contracts": "~1.0",
 -                "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0",
 -                "php": "^7.1|^8.0",
 -                "symfony/http-foundation": "^3.3|^4.1|^5.0",
 -                "symfony/mime": "^3.4|^4.0|^5.1",
 -                "symfony/var-dumper": "^3.4|^4.0|^5.0"
 -            },
 -            "require-dev": {
 -                "friendsofphp/php-cs-fixer": "^2.14",
 -                "phpunit/phpunit": "^7.5.16",
 -                "spatie/phpunit-snapshot-assertions": "^2.0"
 -            },
 -            "type": "library",
 -            "extra": {
 -                "branch-alias": {
 -                    "dev-master": "1.0-dev"
 -                }
 -            },
 -            "autoload": {
 -                "psr-4": {
 -                    "Facade\\FlareClient\\": "src"
 -                },
 -                "files": [
 -                    "src/helpers.php"
 -                ]
 -            },
 -            "notification-url": "https://packagist.org/downloads/",
 -            "license": [
 -                "MIT"
 -            ],
 -            "description": "Send PHP errors to Flare",
 -            "homepage": "https://github.com/facade/flare-client-php",
 -            "keywords": [
 -                "exception",
 -                "facade",
 -                "flare",
 -                "reporting"
 -            ],
 -            "support": {
 -                "issues": "https://github.com/facade/flare-client-php/issues",
 -                "source": "https://github.com/facade/flare-client-php/tree/1.9.1"
 -            },
 -            "funding": [
 -                {
 -                    "url": "https://github.com/spatie",
 -                    "type": "github"
 -                }
 -            ],
 -            "time": "2021-09-13T12:16:46+00:00"
 -        },
 -        {
 -            "name": "facade/ignition",
 -            "version": "1.18.0",
 -            "source": {
 -                "type": "git",
 -                "url": "https://github.com/facade/ignition.git",
 -                "reference": "fca0cbe5f900f94773d821b481c16d4ea3503491"
 -            },
 -            "dist": {
 -                "type": "zip",
 -                "url": "https://api.github.com/repos/facade/ignition/zipball/fca0cbe5f900f94773d821b481c16d4ea3503491",
 -                "reference": "fca0cbe5f900f94773d821b481c16d4ea3503491",
 -                "shasum": ""
 -            },
 -            "require": {
 -                "ext-json": "*",
 -                "ext-mbstring": "*",
 -                "facade/flare-client-php": "^1.3",
 -                "facade/ignition-contracts": "^1.0",
 -                "filp/whoops": "^2.4",
 -                "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0",
 -                "monolog/monolog": "^1.12 || ^2.0",
 -                "php": "^7.1|^8.0",
 -                "scrivo/highlight.php": "^9.15",
 -                "symfony/console": "^3.4 || ^4.0",
 -                "symfony/var-dumper": "^3.4 || ^4.0"
 -            },
 -            "require-dev": {
 -                "mockery/mockery": "~1.3.3|^1.4.2",
 -                "orchestra/testbench": "^3.5 || ^3.6 || ^3.7 || ^3.8 || ^4.0"
 -            },
 -            "suggest": {
 -                "laravel/telescope": "^2.0"
 -            },
 -            "type": "library",
 -            "extra": {
 -                "branch-alias": {
 -                    "dev-master": "1.x-dev"
 -                },
 -                "laravel": {
 -                    "providers": [
 -                        "Facade\\Ignition\\IgnitionServiceProvider"
 -                    ],
 -                    "aliases": {
 -                        "Flare": "Facade\\Ignition\\Facades\\Flare"
 -                    }
 -                }
 -            },
 -            "autoload": {
 -                "psr-4": {
 -                    "Facade\\Ignition\\": "src"
 -                },
 -                "files": [
 -                    "src/helpers.php"
 -                ]
 -            },
 -            "notification-url": "https://packagist.org/downloads/",
 -            "license": [
 -                "MIT"
 -            ],
 -            "description": "A beautiful error page for Laravel applications.",
 -            "homepage": "https://github.com/facade/ignition",
 -            "keywords": [
 -                "error",
 -                "flare",
 -                "laravel",
 -                "page"
 -            ],
 -            "support": {
 -                "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
 -                "forum": "https://twitter.com/flareappio",
 -                "issues": "https://github.com/facade/ignition/issues",
 -                "source": "https://github.com/facade/ignition"
 -            },
 -            "time": "2021-08-02T07:45:03+00:00"
 -        },
 -        {
 -            "name": "facade/ignition-contracts",
 -            "version": "1.0.2",
 -            "source": {
 -                "type": "git",
 -                "url": "https://github.com/facade/ignition-contracts.git",
 -                "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267"
 -            },
 -            "dist": {
 -                "type": "zip",
 -                "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267",
 -                "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267",
 -                "shasum": ""
 -            },
 -            "require": {
 -                "php": "^7.3|^8.0"
 -            },
 -            "require-dev": {
 -                "friendsofphp/php-cs-fixer": "^v2.15.8",
 -                "phpunit/phpunit": "^9.3.11",
 -                "vimeo/psalm": "^3.17.1"
 -            },
 -            "type": "library",
 -            "autoload": {
 -                "psr-4": {
 -                    "Facade\\IgnitionContracts\\": "src"
 -                }
 -            },
 -            "notification-url": "https://packagist.org/downloads/",
 -            "license": [
 -                "MIT"
 -            ],
 -            "authors": [
 -                {
 -                    "name": "Freek Van der Herten",
 -                    "email": "[email protected]",
 -                    "homepage": "https://flareapp.io",
 -                    "role": "Developer"
 -                }
 -            ],
 -            "description": "Solution contracts for Ignition",
 -            "homepage": "https://github.com/facade/ignition-contracts",
 -            "keywords": [
 -                "contracts",
 -                "flare",
 -                "ignition"
 -            ],
 -            "support": {
 -                "issues": "https://github.com/facade/ignition-contracts/issues",
 -                "source": "https://github.com/facade/ignition-contracts/tree/1.0.2"
 -            },
 -            "time": "2020-10-16T08:27:54+00:00"
 -        },
          {
              "name": "fideloper/proxy",
              "version": "4.4.1",
          },
          {
              "name": "guzzlehttp/promises",
 -            "version": "1.4.1",
 +            "version": "1.5.0",
              "source": {
                  "type": "git",
                  "url": "https://github.com/guzzle/promises.git",
 -                "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d"
 +                "reference": "136a635e2b4a49b9d79e9c8fee267ffb257fdba0"
              },
              "dist": {
                  "type": "zip",
 -                "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d",
 -                "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d",
 +                "url": "https://api.github.com/repos/guzzle/promises/zipball/136a635e2b4a49b9d79e9c8fee267ffb257fdba0",
 +                "reference": "136a635e2b4a49b9d79e9c8fee267ffb257fdba0",
                  "shasum": ""
              },
              "require": {
              "type": "library",
              "extra": {
                  "branch-alias": {
 -                    "dev-master": "1.4-dev"
 +                    "dev-master": "1.5-dev"
                  }
              },
              "autoload": {
                  "MIT"
              ],
              "authors": [
 +                {
 +                    "name": "Graham Campbell",
 +                    "email": "[email protected]",
 +                    "homepage": "https://github.com/GrahamCampbell"
 +                },
                  {
                      "name": "Michael Dowling",
                      "email": "[email protected]",
                      "homepage": "https://github.com/mtdowling"
 +                },
 +                {
 +                    "name": "Tobias Nyholm",
 +                    "email": "[email protected]",
 +                    "homepage": "https://github.com/Nyholm"
 +                },
 +                {
 +                    "name": "Tobias Schultze",
 +                    "email": "[email protected]",
 +                    "homepage": "https://github.com/Tobion"
                  }
              ],
              "description": "Guzzle promises library",
              ],
              "support": {
                  "issues": "https://github.com/guzzle/promises/issues",
 -                "source": "https://github.com/guzzle/promises/tree/1.4.1"
 +                "source": "https://github.com/guzzle/promises/tree/1.5.0"
              },
 -            "time": "2021-03-07T09:25:29+00:00"
 +            "funding": [
 +                {
 +                    "url": "https://github.com/GrahamCampbell",
 +                    "type": "github"
 +                },
 +                {
 +                    "url": "https://github.com/Nyholm",
 +                    "type": "github"
 +                },
 +                {
 +                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
 +                    "type": "tidelift"
 +                }
 +            ],
 +            "time": "2021-10-07T13:05:22+00:00"
          },
          {
              "name": "guzzlehttp/psr7",
              },
              "time": "2021-08-15T23:05:49+00:00"
          },
+         {
+             "name": "league/oauth2-client",
+             "version": "2.6.0",
+             "source": {
+                 "type": "git",
+                 "url": "https://github.com/thephpleague/oauth2-client.git",
+                 "reference": "badb01e62383430706433191b82506b6df24ad98"
+             },
+             "dist": {
+                 "type": "zip",
+                 "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/badb01e62383430706433191b82506b6df24ad98",
+                 "reference": "badb01e62383430706433191b82506b6df24ad98",
+                 "shasum": ""
+             },
+             "require": {
+                 "guzzlehttp/guzzle": "^6.0 || ^7.0",
+                 "paragonie/random_compat": "^1 || ^2 || ^9.99",
+                 "php": "^5.6 || ^7.0 || ^8.0"
+             },
+             "require-dev": {
+                 "mockery/mockery": "^1.3",
+                 "php-parallel-lint/php-parallel-lint": "^1.2",
+                 "phpunit/phpunit": "^5.7 || ^6.0 || ^9.3",
+                 "squizlabs/php_codesniffer": "^2.3 || ^3.0"
+             },
+             "type": "library",
+             "extra": {
+                 "branch-alias": {
+                     "dev-2.x": "2.0.x-dev"
+                 }
+             },
+             "autoload": {
+                 "psr-4": {
+                     "League\\OAuth2\\Client\\": "src/"
+                 }
+             },
+             "notification-url": "https://packagist.org/downloads/",
+             "license": [
+                 "MIT"
+             ],
+             "authors": [
+                 {
+                     "name": "Alex Bilbie",
+                     "email": "[email protected]",
+                     "homepage": "http://www.alexbilbie.com",
+                     "role": "Developer"
+                 },
+                 {
+                     "name": "Woody Gilk",
+                     "homepage": "https://github.com/shadowhand",
+                     "role": "Contributor"
+                 }
+             ],
+             "description": "OAuth 2.0 Client Library",
+             "keywords": [
+                 "Authentication",
+                 "SSO",
+                 "authorization",
+                 "identity",
+                 "idp",
+                 "oauth",
+                 "oauth2",
+                 "single sign on"
+             ],
+             "support": {
+                 "issues": "https://github.com/thephpleague/oauth2-client/issues",
+                 "source": "https://github.com/thephpleague/oauth2-client/tree/2.6.0"
+             },
+             "time": "2020-10-28T02:03:40+00:00"
+         },
          {
              "name": "monolog/monolog",
              "version": "2.3.5",
              ],
              "time": "2021-08-28T21:27:29+00:00"
          },
+         {
+             "name": "phpseclib/phpseclib",
+             "version": "3.0.10",
+             "source": {
+                 "type": "git",
+                 "url": "https://github.com/phpseclib/phpseclib.git",
+                 "reference": "62fcc5a94ac83b1506f52d7558d828617fac9187"
+             },
+             "dist": {
+                 "type": "zip",
+                 "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/62fcc5a94ac83b1506f52d7558d828617fac9187",
+                 "reference": "62fcc5a94ac83b1506f52d7558d828617fac9187",
+                 "shasum": ""
+             },
+             "require": {
+                 "paragonie/constant_time_encoding": "^1|^2",
+                 "paragonie/random_compat": "^1.4|^2.0|^9.99.99",
+                 "php": ">=5.6.1"
+             },
+             "require-dev": {
+                 "phing/phing": "~2.7",
+                 "phpunit/phpunit": "^5.7|^6.0|^9.4",
+                 "squizlabs/php_codesniffer": "~2.0"
+             },
+             "suggest": {
+                 "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
+                 "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
+                 "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
+                 "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
+             },
+             "type": "library",
+             "autoload": {
+                 "files": [
+                     "phpseclib/bootstrap.php"
+                 ],
+                 "psr-4": {
+                     "phpseclib3\\": "phpseclib/"
+                 }
+             },
+             "notification-url": "https://packagist.org/downloads/",
+             "license": [
+                 "MIT"
+             ],
+             "authors": [
+                 {
+                     "name": "Jim Wigginton",
+                     "email": "[email protected]",
+                     "role": "Lead Developer"
+                 },
+                 {
+                     "name": "Patrick Monnerat",
+                     "email": "[email protected]",
+                     "role": "Developer"
+                 },
+                 {
+                     "name": "Andreas Fischer",
+                     "email": "[email protected]",
+                     "role": "Developer"
+                 },
+                 {
+                     "name": "Hans-Jürgen Petrich",
+                     "email": "[email protected]",
+                     "role": "Developer"
+                 },
+                 {
+                     "name": "Graham Campbell",
+                     "email": "[email protected]",
+                     "role": "Developer"
+                 }
+             ],
+             "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
+             "homepage": "http://phpseclib.sourceforge.net",
+             "keywords": [
+                 "BigInteger",
+                 "aes",
+                 "asn.1",
+                 "asn1",
+                 "blowfish",
+                 "crypto",
+                 "cryptography",
+                 "encryption",
+                 "rsa",
+                 "security",
+                 "sftp",
+                 "signature",
+                 "signing",
+                 "ssh",
+                 "twofish",
+                 "x.509",
+                 "x509"
+             ],
+             "support": {
+                 "issues": "https://github.com/phpseclib/phpseclib/issues",
+                 "source": "https://github.com/phpseclib/phpseclib/tree/3.0.10"
+             },
+             "funding": [
+                 {
+                     "url": "https://github.com/terrafrost",
+                     "type": "github"
+                 },
+                 {
+                     "url": "https://www.patreon.com/phpseclib",
+                     "type": "patreon"
+                 },
+                 {
+                     "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib",
+                     "type": "tidelift"
+                 }
+             ],
+             "time": "2021-08-16T04:24:45+00:00"
+         },
          {
              "name": "pragmarx/google2fa",
              "version": "8.0.0",
              },
              "time": "2020-06-01T09:10:00+00:00"
          },
 -        {
 -            "name": "scrivo/highlight.php",
 -            "version": "v9.18.1.7",
 -            "source": {
 -                "type": "git",
 -                "url": "https://github.com/scrivo/highlight.php.git",
 -                "reference": "05996fcc61e97978d76ca7d1ac14b65e7cd26f91"
 -            },
 -            "dist": {
 -                "type": "zip",
 -                "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/05996fcc61e97978d76ca7d1ac14b65e7cd26f91",
 -                "reference": "05996fcc61e97978d76ca7d1ac14b65e7cd26f91",
 -                "shasum": ""
 -            },
 -            "require": {
 -                "ext-json": "*",
 -                "ext-mbstring": "*",
 -                "php": ">=5.4"
 -            },
 -            "require-dev": {
 -                "phpunit/phpunit": "^4.8|^5.7",
 -                "sabberworm/php-css-parser": "^8.3",
 -                "symfony/finder": "^2.8|^3.4",
 -                "symfony/var-dumper": "^2.8|^3.4"
 -            },
 -            "type": "library",
 -            "autoload": {
 -                "psr-0": {
 -                    "Highlight\\": "",
 -                    "HighlightUtilities\\": ""
 -                },
 -                "files": [
 -                    "HighlightUtilities/functions.php"
 -                ]
 -            },
 -            "notification-url": "https://packagist.org/downloads/",
 -            "license": [
 -                "BSD-3-Clause"
 -            ],
 -            "authors": [
 -                {
 -                    "name": "Geert Bergman",
 -                    "homepage": "http://www.scrivo.org/",
 -                    "role": "Project Author"
 -                },
 -                {
 -                    "name": "Vladimir Jimenez",
 -                    "homepage": "https://allejo.io",
 -                    "role": "Maintainer"
 -                },
 -                {
 -                    "name": "Martin Folkers",
 -                    "homepage": "https://twobrain.io",
 -                    "role": "Contributor"
 -                }
 -            ],
 -            "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js",
 -            "keywords": [
 -                "code",
 -                "highlight",
 -                "highlight.js",
 -                "highlight.php",
 -                "syntax"
 -            ],
 -            "support": {
 -                "issues": "https://github.com/scrivo/highlight.php/issues",
 -                "source": "https://github.com/scrivo/highlight.php"
 -            },
 -            "funding": [
 -                {
 -                    "url": "https://github.com/allejo",
 -                    "type": "github"
 -                }
 -            ],
 -            "time": "2021-07-09T00:30:39+00:00"
 -        },
          {
              "name": "socialiteproviders/discord",
              "version": "4.1.1",
                      "type": "github"
                  }
              ],
++            "abandoned": true,
              "time": "2020-09-28T06:45:17+00:00"
          },
          {
diff --combined tests/Auth/AuthTest.php
index f19011c46abe5d2e2a93eec83e58d7dd40678ce7,d83f25557007561816986cd16d2a13560eb0dd6e..79f00bed093cbd28c0c550820e41e76a0b799133
@@@ -282,22 -282,6 +282,22 @@@ class AuthTest extends TestCas
              ->assertElementContains('a', 'Sign up');
      }
  
 +    public function test_reset_password_request_is_throttled()
 +    {
 +        $editor = $this->getEditor();
 +        Notification::fake();
 +        $this->get('/password/email');
 +        $this->followingRedirects()->post('/password/email', [
 +            'email' => $editor->email,
 +        ]);
 +
 +        $resp = $this->followingRedirects()->post('/password/email', [
 +            'email' => $editor->email,
 +        ]);
 +        Notification::assertTimesSent(1, ResetPassword::class);
 +        $resp->assertSee('A password reset link will be sent to ' . $editor->email . ' if that email address is found in the system.');
 +    }
 +
      public function test_login_redirects_to_initially_requested_url_correctly()
      {
          config()->set('app.url', 'http://localhost');
          $this->assertTrue(auth()->check());
          $this->assertTrue(auth('ldap')->check());
          $this->assertTrue(auth('saml2')->check());
+         $this->assertTrue(auth('oidc')->check());
      }
  
      public function test_login_authenticates_nonadmins_on_default_guard_only()
          $this->assertTrue(auth()->check());
          $this->assertFalse(auth('ldap')->check());
          $this->assertFalse(auth('saml2')->check());
+         $this->assertFalse(auth('oidc')->check());
      }
  
      public function test_failed_logins_are_logged_when_message_configured()