Gérer les utilisateurs¶
Il s’agit d’un guide simple sur la façon de créer et de gérer les utilisateurs en utilisant Roadiz CLI.
Il y a deux façons d’ajouter des utilisateurs, via le back-office et en ligne de commande.
Lorsque vous travaillez dans le back-office de Roadiz, vous pouvez facilement gérer les utilisateurs via l’icône Système utilisateur dans la barre d’outils.
Créer un nouvel utilisateur¶
Vous pouvez ajouter des utilisateurs en cliquant sur le bouton Ajouter un utilisateur.
Si vous créez un utilisateur sans spécifier son mot de passe, un email avec un lien de réinitialisation du mot de passe sera envoyé. Assurez-vous que vous avez entré le bon email et que votre site web Roadiz a un mailer configuré. Le nouvel utilisateur sera verrouillé à moins qu’il ne réinitialise son mot de passe d’abord.
La ligne de commande bin/roadiz users:create loginname
démarre une nouvelle session interactive de création d’un utilisateur. Vous allez créer un nouvel utilisateur avec son nom d’utilisateur et son email, vous pouvez aussi choisir si il s’agit d’un utilisateur backend ou bien super-admin.
Suppression d’un utilisateur¶
Vous pouvez supprimer des utilisateurs en cliquant sur l’icône de la corbeille.
La commande bin/roadiz users:delete loginname
supprime l’utilisateur « loginname ».
Ajouter un rôle¶
Vous pouvez modifier un profil utilisateur de la même manière que vous modifiez un type de nœud. Vous pouvez ajouter des rôles dans l’onglet Roles.
Si vous voulez ajouter le rôle ROLE_SUPERADMIN
à l’utilisateur « test », il ressemblerait à cela en ligne de commande :
bin/roadiz users:roles --add loginname
# You will be prompted to choose the ROLE with auto-complete feature.
Autres actions¶
Il est possible d’activer ou de désactiver les utilisateurs avec la commande users:enable
ou users:disable
. Si un utilisateur ne se souvient pas de son mot de passe, vous pouvez le régénérer avec la commande users:password
. Pour plus d’informations et plus d’actions, nous vous invitons à vérifier les commandes disponibles avec:
bin/roadiz list users
Activer le SSO pour les utilisateurs du back-office¶
Roadiz est compatible avec la plupart des systèmes d’authentification centralisée (SSO) basés sur OpenID (Google, Exchange, …). Vous pouvez configurer votre CMS pour que chaque membre de votre organisation puisse s’y connecter avec les ROLES
que vous aurez choisi au préalable.
Avant d’aller plus loin, vérifiez que vous avez bien à votre dispositions les information suivantes depuis votre fournisseur d’identité OpenID :
- Client ID OpenID
- Client secret OpenID
- URL d’auto-découverte OpenID (ex : pour Google Suite https://accounts.google.com/.well-known/openid-configuration)
Puis vous devez déterminer :
- Quels rôles (séparés par virgule) vous souhaitez automatiquement assigner à vos utilisateurs connectés par SSO. Vous pouvez toujours développer une stratégie plus complexe pour votre site web en implémentant
RZ\Roadiz\OpenId\Authentication\Provider\JwtRoleStrategy
.
$container->extend('jwtRoleStrategies', function (array $strategies, Container $c) {
return array_merge($strategies, [
new MyWebsiteRoleStrategy($c['em'])
]);
});
- Quel nom de domaine utiliser pour restreindre les utilisateurs. C’est très important pour les utilisateurs de Google Suite car la configuration est la même pour tout les utilisateurs de ce service. Vous ne souhaitez pas autoriser tous les clients Google Suite à accéder à votre back-office 😉.
- Un libellé de bouton pour la page de connexion de votre back-office.
Remplissez toutes les informations collectées dans les paramètres de Roadiz correspondant.
Ensuite, si votre parametrage est correct, vous devriez voir votre bouton de connexion SSO sur la page de connexion du back-office Roadiz. Faites attention à ce que vos utilisateurs SSO aient les permissions suffisantes pour accéder au back-office, ils pourraient avoir une erreur 403 après avoir été redirigés depuis le flux SSO.
Note
L’implémentation OpenID de Google Suite est décrite sur https://developers.google.com/identity/protocols/oauth2/openid-connect#discovery
Premièrement, créez une nouvelle application OAuth2 sur https://console.cloud.google.com/ et suivez les instructions sur https://developers.google.com/identity/protocols/oauth2/openid-connect#getcredentials