Code source wiki de Paramètres OAuth

Modifié par Aurelie Bertrand le 2026/01/16 09:28

Afficher les derniers auteurs
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 === Flu​x 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 **Flu​x 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 === Flu​x 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 ~> Flu​x 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 === Flu​x 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** Flu​x** **de code d’autorisation**.
66 1. Renseignez le** Secret client**.
67 1. Cliquez sur **Enregistrer**.
68
69 === **Flu​x 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** Flu​x** 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 === Flu​x 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" %)** **(%%)**Flu​x** 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 )))