API Platform + FOSUserBundle + LexikJWTAuthenticationBundle

  • Symfony: 3.2.2
  • API Platform: 2.0.3
  • FOSUserBundle: 2.0.0-beta2
  • LexikJWTAuthenticationBundle: 2.1.1

En premier lieu nous allons cloner le dépôt API Plaftorm:

Une fois fait, nous installons FOSUserBundle et LexikJWTAuthenticationBundle via composer:

Puis nous activons les bundles fraichement installé dans AppKernel.php:

Nous créons notre entité User.php:

Nous poursuivons par la génération des clés, notez bien la pass phrase qu’il faudra copié dans le fichier parameters.yml

Nous mettons a jours les fichier suivants:

config.yml:

routing.yml

security.yml

parameters.yml.dist et parameters.yml, n’oubliez pas la pass phrase pour les clés

Puis nous mettons à jour la base de données et créons notre premier utilisateur:

Pour tester ca un petit coup de Curl:

Et comme réponse nous avons:

Et voila !!!

Disponible sur github.

Ajouter un champ a un utilisateur avec le bundle sonatauserbundle [FR]

Si vous utilisez le bundle sonata-user-bundle il y a de fortes chances pour que vous ayez utilisé le bundle sonata-easy-extends afin de généré votre bundle de gestion des utilisateurs.

J’ai découvert ce weekend qu’afin d’ajouter un nouveau champ sur un utilisateur lors de l’utilisation du bundle sonatauserbundle, il faut modifier le fichier Application/Sonata/UserBundle/Resources/config/doctrine/User.orm.xml

 

Symfony2.1 + sonata-admin + sonata-user +fos-userbundle [EN]

Hy, everybody, today we will see how to install Symfony2.1 and the following bundles:

  • FOSUserBundle
  • SonataAdminBundle
  • SonataUserBundle

tl;dr: There is a GitHub repository with the project.

The first step is to create the project with the following command line:

composer create-project symfony/framework-standard-edition sonataadmin.fr

Then we edit the composer.json file to add the bundles:

Update the AppKernel.php file to add the following bundles:

As Sonata Admin Bundle need the translation, we turn in on in the config.yml

And we add the configuration for fosuserbundle and sonata admin in the config.yml:

Since it’s an admin bundle we setup the security in the security.yml file:

Using the smyfony console we now generate the configuration for the user admin thanks to the SonataEasyExtendsBundle: app/console sonata:easy-extends:generate SonataUserBundle The bundle is created into the app folder, move it to src.

Once it done add this new bundle to the AppKernel.php:

We have now to care of the entity and update them with @ORM annotation:

In the config.yml file, in the doctrine section we have to add the support for json:

That being done, the database need to be created or updated. Depending on your need use one of the following command:

app/console doctrine:schema:create for the creation

app/console doctrine:schema:update --force for the update

After that, install the assets with app/console assets:install web

In order to use our admin dashboard we have to import the route in routing.yml:

Last step if we didn’t already have a user, we create one:

app/console fos:user:create admintest admin@test.com pass --super-admin

You just have to go to http://sonataadmin.fr.dev/admin/dashboard and log on with the user and you should see this dashboard:

In a next article we will see how to add new elements to the admin dashboard.

P.S. a GitHub repository is available : https://github.com/dayofr/sonataadmin.fr

Symfony2.1 + sonata-admin + sonata-user +fos-userbundle [FR]

Salut à vous, aujourd’hui nous allons voir comment installer Symfony2.1 et les bundles suivants:

  • FOSUserBundle
  • SonataAdminBundle
  • SonataUserBundle

La première étape est bien entendu la création du projet à l’aide de la commande suivante:

composer create-project symfony/framework-standard-edition sonataadmin.fr

Éditez le fichier composer.json pour y rajouter les bundles suivants :

Mettez à jour votre fichier AppKernel.php avec les bundles suivants :

Modifier votre fichier config.yml afin d’activer la traduction

Dans votre fichier config.yml rajoutez le contenu suivant:

Ensuite au tour du security.yml:

A l’aide de la commande suivante : app/console sonata:easy-extends:generate SonataUserBundle nous allons généré la partie admin pour les utilisateurs. Le code généré se trouve dans le dossier app, déplacez le dans le dossier src.

Une fois fait, ajoutez le nouveau bundle dans le fichier AppKernel.php.

Mettez alors a jour les deux entités avec les annotations @ORM.

Nous devons ensuite ajouter le support du json a doctrine avec le code suivant dans le fichier config.yml.

Une fois fait, il nous faut créé ou mettre à jour la base données. En fonction de votre besoin, utilisez l’une ou l’autre de ces commandes:

app/console doctrine:schema:create pour la création

app/console doctrine:schema:update --force pour la mise à jour

S’en suis l’installation des assets avec app/console assets:install web

Afin de pouvoir accéder à notre espace admin il faut importer les routes dans le fichier routing.yml

Dernière étape, la création du premier utilisateur avec la commande suivante:

app/console fos:user:create admintest admin@test.com pass --super-admin

Rendez-vous alors sur http://sonataadmin.fr.dev/admin/dashboard puis connectez-vous avec l’utilisateur précédemment créé. Vous devriez alors avoir le dashboard suivant :

Dans un prochain article, nous verrons comment ajouter des éléments au générateur.

P.S. un dépôt github est disponible a l’adresse suivante : https://github.com/dayofr/sonataadmin.fr