1062 views
owned this note
:::danger
- **[Transféré sur Outline](https://wiki.elabore.coop/doc/configuration-du-single-sign-on-sso-dans-la-suite-justodooit-my4yRezdMU)**
:::
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**

### Configuration
Dans Configuration > Galicéa (ou Utilisateurs et sociétés en V14) > OpenID Connect Provider, créez une entrée par logiciel à connecter au SSO :

* 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
:::success
La clé privée est affichée sans besoin d'exporter depuis la version 14 de Odoo.
:::
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**

---
## 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**

2. Dans **Paramètres**, se rendre dans le nouveau menu **Administration > Social Login**
3. Créer un nouvel **Custom OpenID Connect** :

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.
Il faut selectionner certaines options :

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é**

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 !**
:::