Code source wiki de Paramètres OAuth
Modifié par Aurelie Bertrand le 2026/01/16 09:28
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{toc/}} | ||
| 2 | |||
| 3 | ---- | ||
| 4 | |||
| 5 | L'authentification SMTP via OAuth pour l'envoi d'emails consiste à utiliser le protocole OAuth 2.0 pour sécuriser l'accès au serveur SMTP de Google (smtp.gmail.com) ou Microsoft sans avoir besoin d'utiliser un mot de passe traditionnel. | ||
| 6 | Ainsi, au lieu de votre adresse email et de votre mot de passe, un jeton d'accès OAuth est utilisé pour vous authentifier auprès du serveur SMTP. | ||
| 7 | |||
| 8 | Pour configurer OAuth, il est nécessaire de récupérer les identifiants client. | ||
| 9 | |||
| 10 | Une fois l'authentification OAuth configurée, vous pourrez l'utiliser lors de la configuration de votre [[serveur email>>doc:Digdash.deployment.configuration.configuration_guide.email.WebHome]]. | ||
| 11 | |||
| 12 | = Configurer l'authentification OAuth = | ||
| 13 | |||
| 14 | L'authentification OAuth est disponible pour Google et Microsoft. Vous trouverez ci-dessous comment configurer l'authentification OAuth. Pour savoir comment récupérer vos identifiants, consultez le paragraphe [[Obtenir les identifiants client>>doc:||anchor="client"]]. | ||
| 15 | |||
| 16 | Pour configurer l'authentification OAuth: | ||
| 17 | |||
| 18 | 1. Allez sur la page **Configuration > Paramètres serveur > Serveurs > Paramètres OAuth**. | ||
| 19 | 1. Sélectionnez le **Fournisseur OAuth** :** **Google** **ou Microsoft. | ||
| 20 | |||
| 21 | == Configuration Google == | ||
| 22 | |||
| 23 | Dans le cas du fournisseur OAuth Google, deux flux sont disponibles. | ||
| 24 | |||
| 25 | === Flux de code d’autorisation === | ||
| 26 | |||
| 27 | |||
| 28 | Ce flux permet à une application d’accéder aux données d’un utilisateur après son authentification et son consentement, via l’échange d’un code d’autorisation temporaire. | ||
| 29 | Il nécessite un ID client et un Secret client. Consultez le paragraphe [[Obtenir les identifiants client ~> Google OAuth ~> Flux de code d’autorisation>>doc:||anchor="G_code"]] pour plus de détails. | ||
| 30 | |||
| 31 | 1. Renseignez l'**ID client.** | ||
| 32 | 1. Sélectionnez **Flux de code d’autorisation.** | ||
| 33 | 1. Renseignez le** Secret client**. | ||
| 34 | 1. Dans le champ **URI de redirection autorisés**, entrez l'URI sous la forme : | ||
| 35 | 1*. //http:~/~/localhost:8080/ddenterpriseapi/v2/oauth/redirect// | ||
| 36 | 1. Le champ **Jeton de rafraîchissement** sera automatiquement renseigné après la première authentification OAuth du serveur email. | ||
| 37 | Il sera possible de révoquer ce jeton en cliquant sur le bouton** Révoquer le jeton de rafraîchissement**. | ||
| 38 | 1. Cliquez sur **Enregistrer**. | ||
| 39 | |||
| 40 | (% class="box warningmessage" %) | ||
| 41 | ((( | ||
| 42 | Si le jeton de rafraîchissement est perdu, il ne pourra pas être regénéré. Il sera alors nécessaire de recréer l’application OAuth dans Google. | ||
| 43 | ))) | ||
| 44 | |||
| 45 | === Flux d’informations d’identification du client === | ||
| 46 | |||
| 47 | Ce flux** **permet à une application de s’authentifier automatiquement, sans utilisateur, via un compte de service et une clé JSON. | ||
| 48 | Il nécessite l'ID Client et le chemin vers la clée privée JSON. (% id="cke_bm_483309S" style="display:none" %) (%%)Consultez le paragraphe [[Obtenir les identifiants client ~> Google OAuth ~> Flux d’informations d’identification du client >>doc:||anchor="G_info"]]pour plus de détails. | ||
| 49 | |||
| 50 | 1. Renseignez l'**ID client : **email du compte de service sous la forme** **//nomducompte@confident-truth-458214-b2.iam.gserviceaccount.com// | ||
| 51 | 1. Renseignez le **Chemin du certificat** : chemin vers le fichier de clé JSON contenant la clé privée. | ||
| 52 | 1. Cliquez sur **Enregistrer**. | ||
| 53 | |||
| 54 | == Configuration Microsoft == | ||
| 55 | |||
| 56 | Dans le cas du fournisseur OAuth Microsoft, deux flux sont disponibles. | ||
| 57 | Consultez le paragraphe **[[Obtenir les identifiants client ~> Microsoft OAuth>>doc:||anchor="M_id"]]** pour savoir ocmment récupérer les identifiants nécessaires. | ||
| 58 | |||
| 59 | === Flux de code d’autorisation === | ||
| 60 | |||
| 61 | Ce flux permet à une application d’accéder aux API Microsoft au nom d’un utilisateur après son authentification et son consentement. | ||
| 62 | |||
| 63 | 1. Renseignez l'**ID client** obtenu précédemment. | ||
| 64 | 1. Renseignez le champ **Tenant **avec l'ID du répertoire (tenant) récupéré précédemment. | ||
| 65 | 1. Sélectionnez** Flux** **de code d’autorisation**. | ||
| 66 | 1. Renseignez le** Secret client**. | ||
| 67 | 1. Cliquez sur **Enregistrer**. | ||
| 68 | |||
| 69 | === **Flux d’informations d’identification du client** === | ||
| 70 | |||
| 71 | Ce flux permet à une application de s’authentifier directement auprès des API Microsoft sans intervention d’utilisateur. | ||
| 72 | |||
| 73 | (% class="box infomessage" %) | ||
| 74 | ((( | ||
| 75 | ℹ Consultez la documentation Microsoft [[https:~~/~~/learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow>>https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow]] pour plus d'informations. | ||
| 76 | DigDash supporte le premier cas (Secret partagé) et le troisième cas (Identification fédérée) de demande de jeton. | ||
| 77 | ))) | ||
| 78 | |||
| 79 | 1. Renseignez l'**ID client** obtenu précédemment. | ||
| 80 | 1. Renseignez le champ **Tenant **avec l'ID du répertoire (tenant) récupéré précédemment. | ||
| 81 | 1. Sélectionnez** Flux** d’informations d’identification du client. | ||
| 82 | 1. Sélectionnez le cas de demande de jeton d'accès: | ||
| 83 | 1*. **Secret partagé **: renseignez le **Secret client **récupéré précédemment. | ||
| 84 | 1*. **Identification fédérée **: renseignez le **JWT**. | ||
| 85 | Dans ce cas, au lieu d’utiliser un //secret client//, l’application s’authentifie auprès de Microsoft en prouvant son identité via un** **fournisseur externe de confiance (par exemple, Kubernetes, AWS), grâce à un jeton fédéré. | ||
| 86 | 1. Cliquez sur **Enregistrer**. | ||
| 87 | |||
| 88 | = Obtenir les identifiants client{{id name="client"/}} = | ||
| 89 | |||
| 90 | Vous trouverez ci-dessous comment récupérer vos identifiants client. | ||
| 91 | |||
| 92 | (% class="box warningmessage" %) | ||
| 93 | ((( | ||
| 94 | ⚠ Ces instructions sont données à titre indicatif. Veuillez vous référer aux documentations fournies par Google et Microsoft pour plus d'informations. | ||
| 95 | ))) | ||
| 96 | |||
| 97 | == Google OAuth == | ||
| 98 | |||
| 99 | Selon le flux utilisé, les informations nécessaires à la configuration OAuth différent. Consultez le paragraphe correspondant à votre cas. | ||
| 100 | |||
| 101 | === Flux de code d’autorisation{{id name="Gcode"/}} === | ||
| 102 | |||
| 103 | (% class="box infomessage" %) | ||
| 104 | ((( | ||
| 105 | ℹ Pour plus d’informations, consultez la documentation [[Utiliser OAuth 2.0 pour les applications de serveur Web>>https://developers.google.com/identity/protocols/oauth2/web-server?hl=fr]]. | ||
| 106 | ))) | ||
| 107 | |||
| 108 | Pour récupérer l'identifiant et le secret client nécessaires pour le flux de code d'autorisation, procédez comme suit : | ||
| 109 | |||
| 110 | 1. Connectez-vous à [[Google Console Cloud>>https://console.cloud.google.com/]] et créez un nouveau projet. | ||
| 111 | 1. Ouvrez le projet et accédez à **API & Services > Écran de consentement oAuth** pour configurer le projet. | ||
| 112 | 1. Allez ensuite sur la page **Clients** depuis le menu de navigation. | ||
| 113 | 1. Cliquez sur **Créer un client**. | ||
| 114 | 1. Sur la page **Créer un ID client OAuth**, remplissez les champs requis : | ||
| 115 | 1*. Dans le champ **Type d'application**, sélectionnez **Application Web**. | ||
| 116 | 1*. Entrez un nom de client. | ||
| 117 | 1*. Dans la section **URI de redirection autorisés**, cliquez sur **Ajouter un URI **et entrez l'URI sous la forme : | ||
| 118 | //http:~/~/localhost:8080/ddenterpriseapi/v2/oauth/redirect// | ||
| 119 | \\[[image:Create_oAuth_FR.png]] | ||
| 120 | 1. Cliquez sur **Créer**. | ||
| 121 | ➡ Le client OAuth est créé. Vous obtenez ainsi l'identifiant et le code secret du client. | ||
| 122 | 1. Copiez-les afin d'en disposer pour la configuration DigDash. | ||
| 123 | \\[[image:Created_oAuth_FR.png||alt="Identifiant et code secret"]] | ||
| 124 | |||
| 125 | === (% id="cke_bm_159717S" style="display:none" %)** **(%%)**Flux** d’informations d’identification du client{{id name="G_info"/}} === | ||
| 126 | |||
| 127 | Pour récupérer l'identifiant et la clé privée nécessaires pour le flux d’informations d’identification du client, procédez comme suit : | ||
| 128 | |||
| 129 | 1. Connectez-vous à [[Google Console Cloud>>https://console.cloud.google.com/]] et créez un nouveau projet (ou sélectionnez un projet existant). | ||
| 130 | 1. Ouvrez le projet, puis accédez à **IAM et administration > Comptes de service**. | ||
| 131 | 1. Créez un compte de service et attribuez-lui les rôles requis. | ||
| 132 | 1. Allez dans l'onglet **Clés** et créer une clé privée de type JSON pour ce compte de service. | ||
| 133 | Placez le fichier téléchargé à l'emplacement voulu qui sera le chemin à renseigner lors de la configuration. | ||
| 134 | |||
| 135 | L'identifiant correspondra à l'email du compte. | ||
| 136 | |||
| 137 | [[image:1767862750251-381.png||height="440" width="953"]] | ||
| 138 | |||
| 139 | == Microsoft OAuth == | ||
| 140 | |||
| 141 | (% class="box infomessage" %) | ||
| 142 | ((( | ||
| 143 | ℹ Pour plus d’informations, consultez la documentation [[OAuth 2.0 et OpenID Connect avec Microsoft identity platform>>https://learn.microsoft.com/fr-fr/entra/identity-platform/v2-oauth2-client-creds-grant-flow]]. | ||
| 144 | ))) | ||
| 145 | |||
| 146 | Dans le cas de Microsoft, procédez comme suit : | ||
| 147 | |||
| 148 | 1. Connectez-vous au [[Portail Azure>>https://portal.azure.com]]. | ||
| 149 | 1. Dans le menu de navigation, accédez à **Microsoft Entra ID** (//ou Azure Active Directory//). | ||
| 150 | 1. Cliquez sur **Inscriptions d’applications** puis sur **Nouvelle inscription** pour créer une nouvelle application. | ||
| 151 | 1. Remplissez les champs requis : | ||
| 152 | 1*. **Nom** : entrez un nom pour identifier votre application (ex. ddenterpriseapi). | ||
| 153 | 1*. **Types de comptes pris en charge** : choisissez qui pourra se connecter : | ||
| 154 | 1**. Comptes dans ce répertoire uniquement (//single tenant//) | ||
| 155 | 1**. Comptes dans tous les annuaires (//multi-tenant//) | ||
| 156 | 1**. Comptes Microsoft personnels | ||
| 157 | 1*. **URI de redirection** : ajoutez l’URI de redirection autorisée, par exemple : | ||
| 158 | //http:~/~/localhost:8080/ddenterpriseapi/v2/oauth/redirect// | ||
| 159 | 1. Validez en cliquant sur **Enregistrer**. | ||
| 160 | 1. Une fois l’application enregistrée, récupérez vos identifiants : | ||
| 161 | 1*. **ID d’application (client)** :** **correspond à ID client. | ||
| 162 | 1*. **ID du répertoire (tenant)** :** **correspond au tenant Microsoft. | ||
| 163 | 1. Dans le menu de gauche, ouvrez **Certificats et secrets**, puis cliquez sur **Nouveau secret client**. | ||
| 164 | 1*. Donnez une description, choisissez une durée de validité, puis validez. | ||
| 165 | 1*. Copiez le secret généré immédiatement (il ne sera plus affiché après). | ||
| 166 | 1*. Ce secret correspond au **Secret client**. | ||
| 167 | 1. ((( | ||
| 168 | Dans **Autorisations API**, configurez les permissions nécessaires à votre application (ex. User.Read, Mail.Read). | ||
| 169 | Certaines permissions peuvent nécessiter un **consentement administrateur**. | ||
| 170 | ))) |