Download the PHP package neevalt/arena-auth-bundle without Composer
On this page you can find all versions of the php package neevalt/arena-auth-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download neevalt/arena-auth-bundle
More information about neevalt/arena-auth-bundle
Files in neevalt/arena-auth-bundle
Package arena-auth-bundle
Short Description Authentication bundle for Arena
License proprietary
Informations about the package arena-auth-bundle
Bundle d'authentification Arena
Prérequis
- Composer
- Php >= 7.1.3
Ce bundle a été testé avec la version 4 de Symfony.
Installer le bundle
Depuis la console,
Activer et configurer le bundle
Activer le bundle
Grâce à Symfony Flex, le bundle est activé automatiquement. Pour en bénéficier, il faut activer les paramètres de
sécurité dans config/security.yaml
. Supprimez les paramètres de sécurité par défaut et
remplacez les par un import :
Configurer le bundle
Pour configurer le bundle, créez le fichier config/packages/arena_auth.yaml
.
La structure de ce fichier doit respecter la suivante :
Ces valeurs sont celles par défaut. Adaptez les avec les paramètres qui correspondent à votre application.
-
app_nom
est le nom de votre application. -
wsdlurl
correspond à l'URL du module de sécurité.Cette URL vous est fournie par la cellule identité après installation du composant. Si mis ànull
, celui-ci n'est pas utilisé. -
roles
est le tableau de rôles que vous voulez attribuer à votre utilisateur. C'est utile lors de la phase de développement, pour par exemple voir les différents affichages d'une page selon le rôle (comme ROLE_ADMIN, ROLE_USER, ...). -
user_loader_id
est l'id du service qui gère l'autorisation. Voir Gérer l'authentification. -
is_client_rsa
va permettre de pouvoir demander au bundle d'utiliser ou non le module de sécurité. Par exemple, si vous travaillez en local, vous ne passez pas par Arena et n'avez donc pas besoin de ce module, on laissera donc la variable àfalse
. Par défaut, un utilisateur avec le nom défini dansusername
avec les rôles définis dansroles
sera simulé. Mettre cette variable àtrue
permettra l'accès à une instance de la classeClientRSA
au moment de l'attribution des rôles, en plus de la stocker en session sous le nom"clientRSA"
. -
redirect_logout
est à renseigner si vous ne souhaitez pas rediriger vers le nom de domaine lors de la déconnexion. -
user_class
est la classe correspondant à l'utilisateur à authentifier. Ce paramètre permet d'étendre la classe de base pour y ajouter des membres par exemple. refresh_user
détermine si le token d'authentification doit mettre à jour les rôles de l'utilisateur ou non. Typiquement, si la gestion de vos rôles est lourde (comme pour un appel en base de données), il vaut mieux passer cette variable àfalse
. En mode dev où on est en revanche souvent amené à changer les rôles, on peut la laisser àtrue
. La valeur par défaut vauttrue
en mode dev,false
en mode prod.
Il est à noter que le changement de ces paramètres ne sera pas forcément affiché dans la toolbar Symfony, mais il sera néanmoins effectif.
Gérer l'authentification
Pour modifier le comportement par défaut du bundle et attribuer soi même les différents rôles aux utilisateurs, il faut spécifier la logique d'authentification dans une classe qui sera utilisée par le bundle.
Cette classe devra implémenter l'interface ArenaAuthUserLoaderInterface
. On peut par exemple écrire :
*Attention ! Les rôles doivent respecter le format `ROLE_`. Ne pas suivre ce format peut conduire à des erreurs (notamment la fonction is_granted() de twig).**
Il faut ensuite prévenir le bundle de l'existence de cette classe, pour qu'elle remplace celle par défaut.
Cela ce fait via la configuration, dans config/packages/arena_auth.yaml
:
En utilisant le services.yaml
de base, le nom de la classe suffit comme paramètre. Si vous avez déclaré le service
manuellement, avec un id spécifique, indiquez celui-ci à la place du nom de la classe.
Ces rôles peuvent être hiérarchisés dans config/security.yaml
:
Si vous avez activé la toolbar, elle devrait vous indiquer l'utilisateur authentifié.
Gérer la déconnexion
Le bundle permet d'avoir accès à une route de déconnexion, qui détruit la session et redirige vers Arena.
Pour l'activer, il faut simplement importer le fichier de routing dans config/routes.yaml
:
On peut ensuite se servir d'une route appelée arena_auth_logout
: