Module OAuth FR
OAuth | |
---|---|
Numéro/ID du module | 66000 |
Doc utilisateur du module | Cette page |
Doc développeur du module |
Introduction
Le module OAuth est un module technique qui vous permet de créer et de gérer des connexions OAuth2 avec un serveur de délégation d'authentification OAuth2. Seul, ce module est inutile. Mais une fois que vous avez créé des connexions OAuth2, vous pouvez les réutiliser dans d'autres modules, par exemple :
- pour l'envoi d'e-mails SMTP
- pour le collecteur d'e-mails IMAP
- pour certains modules externes
- pour l'authentification Google SSO Login (voir Authentication,_SSO_and_SSL#googleoauth)
Installation
Ce module est livré en standard avec la distribution de Dolibarr, aussi il est déjà installé.
Configuration
Création de l'entrée OAuth
C'est la première étape. Vous devez créer une entrée et choisir les autorisations en fonction de l'objectif pour lequel l'entrée OAuth sera utilisée. Voici quelques exemples de valeurs que vous pouvez utiliser, en fonction du fournisseur OAuth et de l'objectif de l'entrée. Essayez de créer une entrée pour chaque objectif différent.
Pour l'accès SMTP
Voici un exemple de configuration si vous prévoyez d'utiliser le jeton OAuth pour envoyer des e-mails.
Pour Google
Identifiant client / Identifiant secret : Voir le chapitre Documentation externe.
Scope : Choisissez le scope 'gmail_full'
Pour Microsoft Office365
Identifiant client / Identifiant secret : Voir le chapitre Documentation externe.
Locataire : L'ID du locataire fourni par Microsoft. Exemple : 123456ab-1234-5678-abdc-12345678abcd
Scope : Choisissez le scope : 'offline_access' + 'outlook.office365.com/SMTP.Send'. Le scope 'email' peut également être ajouté mais semble facultatif. N'oubliez pas d'autoriser également ces permissions dans la configuration Azure.
Si cela échoue, choisissez : 'outlook.office.com/.default'
Pour l'accès IMAP
Voici un exemple de configuration si vous prévoyez d'utiliser le jeton OAuth pour lire votre boîte e-mail avec le collecteur d'e-mails.
Pour Google
Identifiant client / Identifiant secret : Voir le chapitre Documentation externe.
Scope : Choisissez le scope 'gmail_full'
Pour Microsoft Office365
Identifiant client / Identifiant secret : Voir le chapitre Documentation externe.
Locataire : L'ID du locataire fourni par Microsoft. Exemple : 123456ab-1234-5678-abdc-12345678abcd
Scope : Choisissez le scope : 'offline_access' + 'outlook.office365.com/IMAP.AccessAsUser.All'. Le scope 'email' peut également être ajouté mais semble facultatif. N'oubliez pas d'autoriser également ces permissions dans la configuration Azure.
Si cela échoue, choisissez : 'outlook.office.com/.default'
Pour la connexion SSO
Voici un exemple de configuration si vous prévoyez d'utiliser le fournisseur OAuth pour vous connecter. Notez que pour cette utilisation, la création de l'entrée OAuth est suffisante, pas besoin de générer le jeton.
Pour Google
Nom de l'entrée : "Login" (Le texte "Login" avec une majuscule pour L. Vous devez utiliser cette chaîne d'entrée pour la connexion SSO. Aucun autre nom n'est possible).
Identifiant client / Identifiant secret : Voir le chapitre Documentation externe.
Scope : Choisissez le scope 'openid' et 'email'
Vous devez également modifier votre fichier de configuration Dolibarr pour utiliser la connexion SSO avec Google OAuth. Voir la page Authentication,_SSO_and_SSL#googleoauth.
Pour Microsoft Office365
Pas encore disponible ! Probablement...
Identifiant client / Identifiant secret : Voir le chapitre Documentation externe.
Locataire : L'ID du locataire fourni par Microsoft. Exemple : 123456ab-1234-5678-abdc-12345678abcd
Scope : Choisissez le scope 'openid' et 'email'
Génération du jeton
Remarque : Si l'objectif de l'entrée OAuth est d'être utilisé pour la connexion SSO, vous n'avez pas besoin de générer le jeton.
Une fois votre entrée OAuth créée, vous pouvez passer à l'onglet suivant pour générer et obtenir votre jeton OAuth. Ce jeton sera ensuite utilisé par les autres modules ou fonctionnalités (par exemple, pour envoyer des e-mails en utilisant SMTP ou pour lire des e-mails en utilisant IMAP).
Remarque sur la durée de validité du jeton
- Pour Google, lorsque votre entrée OAuth est publiée en mode Test, Google non vérifié, le jeton d'actualisation expire après 7 jours et est limité à 100 actualisations du jeton d'accès.
- Pour Google, lorsque votre entrée OAuth est publiée en mode Production, Google vérifié, le jeton d'actualisation expire après 180 jours et le nombre d'actualisations du jeton d'accès est illimité.
Comment obtenir mon ID Client / Secret
Pour créer une entrée OAuth, vous avez besoin d'un ID client et d'un ID secret (et parfois d'un ID locataire - "tenant" en anglais). Leur obtention dépend de votre fournisseur OAUTH.
Pour Microsoft 365
Les étapes suivantes sont les suivantes :
- Accédez à https://portal.azure.com - Gérer l'application pour créer une application. Vous pouvez obtenir la valeur de l'ID client dans le champ "ID application (client)" et l'ID locataire dans le champ "ID annuary (locataire)"
- Ensuite, définissez la propriété "Assignation required" sur Non (je ne suis pas sûr que ce soit nécessaire)
- Ensuite, définissez le chapitre Authentification pour ajouter l'URL de rappel autorisée suggérée par Dolibarr.
- Ensuite, définissez l'API autorisée, par exemple Microsoft Graph email, IMAP.ACcessAsUser.ALL, Mail.Read, Mail.Send, offline_access, openid, profile, SMTP.Send
- Ensuite, définissez le certificat et le secret (l'ID secret est la colonne "Valeur", la colonne "ID du secret" peut être ignorée)
Vous pouvez obtenir un résumé de tout cela dans le menu "Aperçu"
Il y a de la documentation ici :
- Voir https://afterlogic.com/mailbee-net/docs/OAuth2Office365NonInteractive.html et https://learn.microsoft.com/fr-fr/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth
- Tutoriel pour enregistrer une application et créer un identifiant secret : https://learn.microsoft.com/fr-fr/azure/active-directory/develop/quickstart-register-app#register-an-application
- Un fil de discussion sur le forum est également disponible concernant l'utilisation d'OAuth2 pour SMTP et IMAP : https://www.dolibarr.org/forum/t/oauth-office-365-and-email-collector/23437
Pour Google
Les étapes suivantes sont :
Vous trouverez ici de la documentation :