149 views
Configuration du Single Sign On (SSO) dans la suite JustOdooIt == La suite JustOdooIt propose une fonctionnalité SSO entre plusieurs de ses logiciels, avec Odoo comme base d'authentification. Voici la procédure pour installer le SSO sur votre suite JustOdooIt [TOC] --- ## Modules Odoo ### Installation Installer le module **Galicea OpenID Connect Provider** ![](https://docs.elabore.coop/uploads/upload_d1cbc85ba5bae8f555391626df91d15e.png) ### Configuration Dans Configuration > Galicea > OpenID Connect Provider, créez une entrée par logiciel à connecter au SSO : ![](https://docs.elabore.coop/uploads/upload_b6c8ae2a79287284dc92f1037fdc7ef8.png) * le champ **Name** est à remplir à votre convenance * le champ **Redirect URI for user login** dépend du logiciel à connecter : * Nextcloud : `https://mynextcloud.org/apps/sociallogin/custom_oidc/{INTERNAL_NAME}` * RocketChat : `https://myrocketchat.org/_oauth/{OAUTH_NAME]` * cochez la case **Allow OAuth2 password grant** La création d'une entrée **OpenID Clients** génèrera une paire **Client ID / Client Secret**, qu'il faudra renseigner dans le logiciel à connecter. ### Extraction des clefs privées Pour extraire la clef privée de votre connexion SSO, il faut : * sélectionner en vue liste votre entrée **OpenID Client** * exporter cette entrée * ajouter dans l'export le champ **Client secret** ![](https://docs.elabore.coop/uploads/upload_cfc7505205e295a7ac6da39d87128a7e.png) --- ## Configuration Nextcloud :::warning **ATTENTION :** il est conseillé de réaliser cette opération **AVANT** de commencer à utiliser Nextcloud, afin que tous les utilisateurs aient des comptes de même nature (= créés via le SSO avec Odoo). ::: Pour connecter Nextcloud en SSO à Odoo, il faut : 1. Installer le module **Social Login** ![](https://docs.elabore.coop/uploads/upload_0bec0c6c755d8ec090f70b2db748c262.png) 2. Dans **Paramètres**, se rendre dans le nouveau menu **Administration > Social Login** 3. Créer un nouvel **Custom OpenID Connect** : ![](https://docs.elabore.coop/uploads/upload_b50bd0c13eede7ce7c2b04bf6692ee6f.png) 4. Remplir les champs suivants : * Internal name : `odoo` (servira pour l'URL à renseigner dans Odoo, cf 1er chapitre) * Title : `mon Odoo` * Authorize url : `https://myodoo.org/oauth/authorize` * Token url : `https://myodoo.org/oauth/token` * User info URL : `https://myodoo.org/oauth/userinfo` * Logout URL (optionnel) : l'URL lors de la déconnexion de l'utilisateur * Client Id : `myOdooClientID` * Client Secret : `myOdooSecretClient` * Scope : `openid` * Groups claim (optionnel) : N/A * Button style : comme vous préférez * Default group : le groupe dans lequel sera inscrit le nouvel utilisateur par défaut. 5. Cliquez sur **Sauvegarder** en haut de la page :::warning **ATTENTION :** pour les utilisateurs ayant déjà un compte au moment de l'activation du SSO, c*elui-ci ne va pas reconnaître tout seul les comptes existants, et en créera de nouveaux*. Pour éviter cela, et faire que les comptes soient reconnus, il faut que **chaque utilisateur** aille dans **Paramètres > Personnel > Social Login**, et clique sur le bouton au nom de la connexion SSO. ::: :::info **ASTUCE :** vous pouvez faire disparaître le formulaire d'authentification classique sur la page d'accueil de votre Nextcloud, avec l'option "`Hide default login (can be made visible with /login?showDefault=true)`* dans `Paramètres > Administration > Social Login`" ::: :::success **Bravo, le SSO est installé sur Nextcloud !** ::: --- ## Configuration RocketChat Pour connecter Rocketchat en SSO à Odoo, il faut : 1. Se rendre sur la page **Administration > OAuth** 2. Cliquer sur **Ajouter un OAuth personnalisé** ![](https://docs.elabore.coop/uploads/upload_7e434c89aa83bb2c7b205a76a303e891.png) 3. Enregistrer le nom de l'OAuth (servira pour l'URL à renseigner dans Odoo, cf 1er chapitre) 4. Remplir les champs suivants : * URL : `https://myodoo.org` * URL de jeton : `/oauth/token` * Jeton envoyé via : `Charge utile` * Jeton d'identité envoyé via : `Identique à "Token envoyé via"` * URL d'identification : `/oauth/userinfo` * URL d'autorisation : `/oauth/authorize` * Portée : `openid` * Nom du paramètre du jeton d'accès : `access_token` * ID : `myOdooClientID` * Secret : `myOdooSecretClient` * Style de la page de connexion : `Redirect` (au choix) * Texte du bouton : `Se connecter via mon Odoo` (à personnaliser) * Couleur du texte du bouton : `#FFFFFF` (à personnaliser) * Couleur du bouton : `#1d74f5` (à personnaliser) * Champ nom d'utilisateur : N/A * Champ du nom : N/A * Champ Avatar : N/A * Nom du champ Rôles/Groupes : `roles` * Fusionner les rôles depuis SSO : `True` (à personnaliser) * Fusionner les utilisateurs : `True` (à personnaliser) * Montrer le bouton sur la page de connexion : `True` * Champ clé : `Email` (conseillé) 5. Cliquez sur **Sauvegarder les modifications** :::success **Bravo, le SSO est installé sur RocketChat !** ::: --- ## Supportez-nous ! :::warning Ce qui suit est important, et participe à la qualité des outils qui vous ont été proposé dans ce tutoriel. Merci de lire jusqu'au bout. ::: Ce tutoriel est mise à disposition gratuitement aux utilisateurs de la suite JustOdooIt. Cependant la maintenance, la documentation et l'évolution des scripts d'installation de cette suite [JustOdooIt](https://justodooit.myceliandre.fr/) est très chronophage. Aujourd'hui elles sont réalisées principalement par la SCIC [Mycéliandre](https://myceliandre.fr/) et la SCOP [Elabore](https://elabore.coop/). Pour participer à cet effort, primordial pour assurer la stabilité et pérennité des outils proposés, **n'hésitez pas à soutenir Mycéliandre et/ou Elabore par un don !** :::info Pour soutenir la maintenance et le développement du script, vous pouvez aider [Mycéliandre](https://myceliandre.fr/) et/ou [Elabore](https://elabore.coop/) à être à l'équilibre en donnant à hauteur de **590,00 €** par installation. Ce montant est indicatif, à vous de juger la valeur de tout ce travail en pleine conscience :wink:. ::: Pour faire un don, vous pouvez contacter au choix : * chez [Mycéliandre](https://myceliandre.fr/) : * [Nicolas Jeudy](mailto:nicolas.jeudy@myceliandre.fr), * [Christine Dornier](mailto:christine.dornier@myceliandre.fr), * [Jean-Christophe Léonard](mailto:jean-christophe.leonard@myceliandre.fr), * [Justin Audino](mailto:justin.audino@myceliandre.fr) * chez [Elabore](https://elabore.coop/) : * [Mathieu Sarrasin](mailto:mathieu.sarrasin@elabore.coop), * [Stéphan Sainléger](mailto:stephan.sainleger@elabore.coop) --- **Merci pour votre attention, et bonne continuation !!** :i_love_you_hand_sign: