To prolong the Saml2Controller of laravel-saml2 by a Laravel vendor controller class, follow the steps below:
Create a new controller class in your vendor folder by running the following command:
php artisan make:controller VendorSamlController
Open the newly created VendorSamlController
and extend the Saml2Controller
like this:
<?php
namespace Vendor\Package\Http\Controllers;
use Aacotroneo\Saml2\Http\Controllers\Saml2Controller;
class VendorSamlController extends Saml2Controller
{
// Additional methods
}
In your ServiceProvider, bind the VendorSamlController
to the Saml2Controller
like this:
<?php
namespace Vendor\Package\Providers;
use Illuminate\Support\ServiceProvider;
use Vendor\Package\Http\Controllers\VendorSamlController;
use Aacotroneo\Saml2\Http\Controllers\Saml2Controller;
class VendorServiceProvider extends ServiceProvider
{
public function boot()
{
//
}
public function register()
{
$this->app->bind(Saml2Controller::class, VendorSamlController::class);
}
}
Finally, modify the saml2_routes
config key in your Laravel project's config/saml2_settings.php
file to use the VendorSamlController
like this:
'saml2_routes' => [
// ...
'sso' => [
'uses' => 'Vendor\Package\Http\Controllers\VendorSamlController@acs',
'as' => 'saml2_acs',
],
'sso2' => [
'uses' => 'Vendor\Package\Http\Controllers\VendorSamlController@acs',
'as' => 'saml2_acs_sp',
],
// ...
],
That's it! Now your VendorSamlController
will be used instead of the default Saml2Controller
.
Asked: 2022-11-24 11:00:00 +0000
Seen: 10 times
Last updated: Dec 03 '21