1. Go to this page and download the library: Download nbgrp/onelogin-saml-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
php
namespace App\Entity;
use Nbgrp\OneloginSamlBundle\Security\User\SamlUserInterface;
class User implements SamlUserInterface
{
private $username;
private $email;
// ...
public function setSamlAttributes(array $attributes)
{
$this->email = $attributes['mail'][0];
}
}
php
namespace App\Security;
use App\Entity\User;
use Nbgrp\OneloginSamlBundle\Security\User\SamlUserFactoryInterface;
use Symfony\Component\Security\Core\User\UserInterface;
class UserFactory implements SamlUserFactoryInterface
{
public function createUser(string $identifier, array $attributes): UserInterface
{
$user = new User();
$user->setRoles(['ROLE_USER']);
$user->setUsername($username);
$user->setEmail($attributes['mail'][0]);
// ...
return $user;
}
}
php
namespace App\Security;
use Nbgrp\OneloginSamlBundle\Event\UserCreatedEvent;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
#[AsEventListener(event: UserCreatedEvent::class, dispatcher: 'security.event_dispatcher.main')]
class UserCreatedListener
{
public function __invoke(UserCreatedEvent $event): void
{
// ...
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.