> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OAuth 2.0 pour IMAP

> Configurez OAuth 2.0 pour l’importation d’e-mails IMAP dans ABBYY Vantage auto-hébergé en enregistrant des applications dans Google Cloud et le portail Azure, puis en stockant les identifiants dans Consul.

Par défaut, les utilisateurs qui configurent l’importation de documents depuis un service de messagerie à l’aide d’une activité Input dans une Compétence de processus n’ont accès qu’à l’authentification de base du serveur IMAP. Pour activer l’authentification des services de messagerie Google et Microsoft via le protocole OAuth 2.0, vous devez :

1. Enregistrer des applications sur Google Cloud Platform et/ou dans le portail Azure.
2. Générer des identifiants de compte pour ces applications (Client ID et secret client).
3. Renseigner les identifiants générés dans Consul.

Ces étapes peuvent être effectuées aussi bien avant qu’après l’installation de Vantage.

<div id="registering-the-application-in-google">
  ## Enregistrer l’application auprès de Google
</div>

La création d’une application nécessite un compte Google.

<div id="creating-a-project-on-the-google-cloud-platform">
  ### Créer un projet sur Google Cloud Platform
</div>

1. Accédez à la page New Project de Google Cloud Platform.
2. Saisissez un nom pour votre projet, puis cliquez sur **Create**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-009.png" alt="Page New Project de Google Cloud Platform affichant le champ de nom du projet" style={{ width:"55%" }} />

3. Attendez la notification indiquant que votre projet a été créé.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-010.png" alt="Notification de Google Cloud Platform confirmant la création du projet" style={{ width:"46%" }} />

<div id="setting-up-the-application">
  ### Configuration de l’application
</div>

1. Accédez à la Google Cloud Console et sélectionnez le projet approprié.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-011.png" alt="Liste déroulante du sélecteur de projet de la Google Cloud Console" style={{ width:"51%" }} />

2. Dans le menu situé à gauche de l’écran, sélectionnez **APIs & Services > OAuth consent screen**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-012.png" alt="Menu de la Google Cloud Console affichant APIs & Services avec l’option OAuth consent screen" style={{ width:"53%" }} />

3. Sélectionnez le type d’utilisateur **External**, puis cliquez sur **Create**.
4. Indiquez un nom pour votre application. Dans le champ de liste déroulante **User support email**, sélectionnez votre adresse Gmail.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-013.png" alt="Formulaire App information de l’écran de consentement OAuth avec les champs du nom de l’application et de l’adresse e-mail de l’assistance utilisateur" style={{ width:"61%" }} />

5. Indiquez l’adresse e-mail du développeur dans la section **Developer contact information** au bas de la page, puis cliquez sur **Save and continue**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-014.png" alt="Section Developer contact information avec le champ d’adresse e-mail" style={{ width:"62%" }} />

6. Cliquez sur **Add or remove scopes**. La boîte de dialogue **Update selected scopes** s’ouvre alors sur la droite.
7. Copiez-collez le texte suivant dans le champ **Manually add scopes** au bas de la boîte de dialogue, puis cliquez sur **Add to table** :

```
openid https://www.googleapis.com/auth2/userinfo.email https://www.googleapis.com/auth2/userinfo.profile https://mail.google.com/
```

<Note>
  Vous pouvez également sélectionner les scopes manuellement. Les scopes suivants doivent être sélectionnés :

  * `openid`
  * `https://mail.google.com/`
  * `../auth2/userinfo.email`
  * `../auth2/userinfo.profile`
</Note>

8. Cliquez sur **Update**. La boîte de dialogue **Update selected scopes** se ferme et les scopes sélectionnés s’affichent.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-015.png" alt="Boîte de dialogue Update selected scopes affichant les scopes OAuth requis" />

9. Cliquez sur **Save and continue** en bas de l’écran.
10. Cliquez sur **Save and continue** pour ignorer les paramètres de la page **Test users** et accéder à la page **Résumé**.

Sur la page **Résumé**, vous verrez des informations sur l’application, les adresses e-mail et les autorisations configurées.

<div id="creating-account-credentials">
  ### Création des identifiants de compte
</div>

1. Sélectionnez **Identifiants** dans le menu de gauche.
2. Cliquez sur **+ Créer des identifiants**, puis sélectionnez **ID client OAuth**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-016.png" alt="Menu déroulant Créer des identifiants affichant l’option ID client OAuth" style={{ width:"61%" }} />

3. Sélectionnez le type **Application Web**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-017.png" alt="Formulaire de création d’un ID client OAuth avec la liste déroulante du type d’application affichant Application Web" style={{ width:"60%" }} />

4. Dans la section **URI de redirection autorisés**, sélectionnez **+ Ajouter un URI**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-018.png" alt="Section URI de redirection autorisés avec le bouton Ajouter un URI" style={{ width:"47%" }} />

5. Dans le champ qui s’affiche, indiquez l’URI de redirection :

```
https://<Vantage host name>/connectors-tokens-callback.html
```

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-019.png" alt="Champ Redirect URI avec l’URL de rappel de Vantage et le bouton CREATE" style={{ width:"60%" }} />

6. Cliquez sur **Create**.

La boîte de dialogue qui s’affiche contient les valeurs **Client ID** et **secret client**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-020.png" alt="Boîte de dialogue de création du client OAuth affichant les valeurs Client ID et secret client" style={{ width:"66%" }} />

Ces données sont obligatoires pour configurer le tokenmanagement service dans Vantage. Vous pouvez les enregistrer immédiatement ou les copier plus tard en accédant à **APIs & Services > Credentials** et en sélectionnant l’identifiant du client OAuth 2.0 que vous avez créé.

<div id="publishing-and-verification">
  ### Publication et vérification
</div>

Le statut de publication de l’application est affiché dans la section **APIs & Services > OAuth consent screen**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-021.png" alt="Écran de consentement OAuth affichant le statut de publication Testing avec le bouton Publish App" style={{ width:"27%" }} />

Les applications ayant le statut **Testing** sont uniquement accessibles aux utilisateurs ajoutés à la liste des testeurs. La publication d’une application est la seule façon de la rendre accessible à tout utilisateur disposant d’un compte Google.

Cliquez sur **Publish app**. Le scope `https://mail.google.com/` autorise l’application à accéder à des données utilisateur confidentielles ; un message indiquant que l’application doit être vérifiée s’affichera donc.

Pour vérifier l’application, vous devrez fournir :

* Un lien officiel vers la politique de confidentialité de l’application
* Une vidéo YouTube montrant l’objectif déclaré de la collecte des données utilisateur Google via l’application
* Un texte adressé à Google expliquant pourquoi vous avez besoin d’accéder à des données utilisateur confidentielles
* Une liste complète de tous vos domaines vérifiés dans Google Search Console

Cliquez sur **Confirm**. Le statut de votre application passera à **In Production**.

Le bouton **Prepare for verification** apparaîtra également, afin que vous puissiez fournir toutes les données requises pour la vérification.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-022.png" alt="Écran de consentement OAuth affichant le statut In Production avec un avertissement de vérification et le bouton Prepare for Verification" style={{ width:"55%" }} />

<Note>
  Tant que votre application n’est pas vérifiée, seuls 100 utilisateurs pourront l’utiliser. Le compteur d’utilisateurs se trouve dans la partie inférieure de la section OAuth consent screen et ne peut pas être réinitialisé pendant toute la durée de vie du projet.
</Note>

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-023.png" alt="Limite d’utilisateurs OAuth affichant 0 utilisateur sur une limite de 100 utilisateurs" style={{ width:"61%" }} />

<div id="registering-the-application-in-microsoft-azure">
  ## Enregistrement de l’application dans Microsoft Azure
</div>

Pour créer une application, vous devez disposer d’un tenant Azure Active Directory avec les autorisations d’enregistrement d’application et de modification requises.

Vous pouvez passer au répertoire approprié sur la page **Portal settings | Directories + subscriptions**.

<div id="registering-the-application">
  ### Enregistrement de l’application
</div>

1. Accédez à la page **App registrations**.
2. Cliquez sur **New registration**.
3. Indiquez un nom pour votre application et sélectionnez les types de comptes pris en charge.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-024.png" alt="Formulaire Azure d’enregistrement d’application montrant le champ Name et les options Supported account types" />

<Note>
  Si le type **Multitenant** est sélectionné pour l’application, celle-ci sera accessible aux utilisateurs de n’importe quel tenant Azure AD. Ces applications doivent être vérifiées, ce qui n’est possible que pour les participants au Microsoft Partner Network. Si vous n’êtes pas participant, sélectionnez **Single tenant** afin que votre application soit accessible uniquement aux utilisateurs de votre propre tenant Azure AD.
</Note>

4. Dans la section **Redirect URI**, sélectionnez la plateforme **Web** et indiquez l’URI de redirection :

```
https://<Vantage host name>/connectors-tokens-callback.html
```

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-025.png" alt="Section URI de redirection d’Azure avec la plateforme Web sélectionnée" style={{ width:"77%" }} />

5. Cliquez sur **Register**.

<div id="setting-up-application-permissions">
  ### Configuration des autorisations de l’application
</div>

1. Accédez à l’onglet **API permissions**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-026.png" alt="Barre latérale du portail Azure avec l’option de menu API permissions mise en évidence" style={{ width:"73%" }} />

2. Cliquez sur **Add permission**.
3. Dans la boîte de dialogue qui s’ouvre, sélectionnez la section **Microsoft Graph**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-027.png" alt="Boîte de dialogue de demande d’autorisations d’API avec l’option Microsoft Graph mise en évidence" style={{ width:"69%" }} />

4. Sélectionnez **Delegated permissions**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-028.png" alt="Boîte de dialogue des autorisations Microsoft Graph avec l’option Delegated permissions sélectionnée" style={{ width:"73%" }} />

5. Ajoutez les autorisations suivantes :
   * `email`
   * `IMAP.AccessAsUser.All`
   * `offline_access`
   * `openid`
   * `profile`
6. Cliquez sur **Add permissions**. La boîte de dialogue se ferme et les autorisations sélectionnées s’affichent.

<div id="creating-client-secrets">
  ### Création de secrets client
</div>

1. Accédez à l’onglet **Authentification**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-029.png" alt="Barre latérale du portail Azure avec l’option de menu Authentication mise en évidence" />

2. Dans la section **Implicit grant and hybrid flows**, cochez **ID tokens (used for implicit and hybrid flows)**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-030.png" alt="Section Implicit grant and hybrid flows avec la case à cocher ID tokens" />

3. Cliquez sur **Save** en haut de l’écran.
4. Accédez à l’onglet **Certificates & secrets**, puis cliquez sur **New client secret**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-031.png" alt="Onglet Certificates & secrets avec le bouton New client secret" />

5. Dans la boîte de dialogue qui s’ouvre, indiquez un nom pour le secret client ainsi qu’une date d’expiration.

<Note>
  La durée de validité maximale est de 24 mois.
</Note>

6. Cliquez sur **Add**. La boîte de dialogue se ferme et les informations relatives à votre nouveau secret client s’affichent.

<Warning>
  Il est important de copier et d’enregistrer la **Value**, car vous ne pourrez plus y accéder une fois la page fermée. Cette valeur est requise lors de la configuration du tokenmanagement service dans Vantage.
</Warning>

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-032.png" alt="Liste des secrets client avec la colonne Value du secret mise en évidence" />

Vous aurez également besoin d’un identifiant client, que vous pouvez copier depuis le champ **Application (client) ID** dans l’onglet **Vue d’ensemble**. L’icône de copie apparaît lorsque vous survolez la valeur de l’identifiant avec le curseur.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-033.png" alt="Vue d’ensemble de l’application Azure avec le champ Application (client) ID mis en évidence" />

<div id="verifying-the-application">
  ### Vérification de l’application
</div>

Pour rendre l’application accessible aux utilisateurs de n’importe quel tenant Azure AD, une vérification est nécessaire. Cette vérification n’est pas nécessaire si seuls des comptes d’un même tenant Azure AD sont utilisés.

Seuls les participants au Microsoft Partner Network peuvent effectuer cette vérification.

1. Accédez à l’onglet **Image de marque et propriétés**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-034.png" alt="Barre latérale du portail Azure montrant l’option de menu Image de marque et propriétés mise en surbrillance" />

2. Vérifiez que le domaine est spécifié dans le champ **Domaine de l’éditeur**. Si nécessaire, configurez votre domaine en cliquant sur **Configurer un domaine**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-035.png" alt="Page Azure Image de marque et propriétés montrant le champ Domaine de l’éditeur avec l’option Mettre à jour le domaine" style={{ width:"72%" }} />

<Note>
  L’icône d’avertissement affichée à côté du nom de domaine signifie qu’une application associée au domaine spécifié ne peut pas être vérifiée. Cliquez sur **Mettre à jour le domaine** pour spécifier un autre domaine valide lié au tenant Azure Active Directory. Vous pouvez également vérifier un nouveau domaine.
</Note>

3. Dans la section **Vérification de l’éditeur**, indiquez votre ID MPN, puis cliquez sur **Vérifier et enregistrer**.

<Note>
  Si vous ne disposez pas des permissions requises pour ajouter un ID MPN, vérifiez que toutes les conditions requises pour la vérification de l’éditeur sont remplies.
</Note>

Une fois la vérification effectuée avec succès, l’icône appropriée s’affiche à côté du champ **Nom d’affichage de l’éditeur**.

<div id="passing-credentials-to-consul">
  ## Fourniture des informations d’identification à Consul
</div>

Si Vantage est déjà installé, vous devez utiliser Consul pour saisir manuellement les identifiants de compte générés pour l’authentification auprès du service de messagerie Microsoft et/ou Google.

Les fonctionnalités spécifiques au protocole OAuth 2.0 sont décrites dans le service TokenManagement.

<Note>
  Avant la configuration, vérifiez que l’outil en ligne de commande kubectl est installé et que vous êtes connecté au cluster Kubernetes.
</Note>

1. Accédez à l’interface web de Consul en exécutant la commande suivante :

```bash theme={null}
kubectl port-forward -n abbyy-infrastructure service/consul-ui 8500:80
```

Naviguez ensuite vers `http://localhost:8500/ui/dc1/kv/secret/`.

2. Dans l’onglet **Key/Value** qui s’ouvre, sélectionnez le périmètre de déploiement Vantage approprié. Sélectionnez ensuite le projet **vantage**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-036.png" alt="Projet vantage dans Consul affichant la liste des services avec tokenmanagement mis en évidence" style={{ width:"65%" }} />

3. Sélectionnez le service **tokenmanagement**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-037.png" alt="Service tokenmanagement dans Consul affichant la section oAuthClientConfiguration" style={{ width:"68%" }} />

4. Accédez à la section **oAuthClientConfiguration**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-038.png" alt="oAuthClientConfiguration dans Consul affichant les options google et microsoft" style={{ width:"67%" }} />

5. Sélectionnez le service pour lequel vous souhaitez renseigner les données utilisateur (**google** ou **microsoft**).

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-039.png" alt="Section oAuthClientConfiguration dans Consul affichant le service google avec les clés clientId et clientSecret" style={{ width:"66%" }} />

6. Sélectionnez la clé **clientId**.
7. Copiez-collez la valeur du Client ID que vous avez enregistrée précédemment dans le champ de saisie, puis cliquez sur **Save**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-040.png" alt="Éditeur de valeur clientId dans Consul avec le bouton Save" style={{ width:"65%" }} />

8. Répétez les étapes 6 et 7 pour la clé **clientSecret**.

Si nécessaire, répétez les étapes 5 à 8 pour un autre service de messagerie électronique.

9. Redémarrez le service **tokenmanagement** en exécutant la commande suivante :

```bash theme={null}
kubectl -n abbyy-vantage rollout restart $(kubectl -n abbyy-vantage get deployments -l app.kubernetes.io/component=tokenmanagement -o name)
```

<div id="updating-client-secret">
  ## Mise à jour du secret client
</div>

La valeur du secret client est utilisée pour l’identification du client côté serveur et constitue une information confidentielle. Pour des raisons de sécurité, cette valeur doit être mise à jour périodiquement. Certains services, comme Azure Active Directory, limitent sa durée de validité.

Une fois qu’un nouveau secret client a été créé, la valeur de la clé Consul correspondante doit également être mise à jour.

<Warning>
  Une fois le secret client mis à jour, les utilisateurs devront recréer de zéro les connexions à leur service de messagerie dans l’activité Input de la Compétence de document. Sinon, Vantage ne pourra pas se connecter à la boîte aux lettres ni en importer les e-mails.
</Warning>

<div id="updating-the-client-secret-in-google">
  ### Mise à jour du secret client dans Google
</div>

1. Accédez à la Google Cloud Console et sélectionnez le projet approprié.
2. Dans le menu de gauche, sélectionnez **APIs & Services > Credentials**.
3. Dans la section **OAuth 2.0 Client IDs**, sélectionnez l’identifiant utilisé pour l’authentification lors de la connexion au serveur IMAP.
4. Cliquez sur **Reset secret**.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-041.png" alt="Détails du client OAuth Google Cloud affichant le bouton Reset Secret" style={{ width:"75%" }} />

5. Cliquez sur **Reset** dans la boîte de dialogue qui s’affiche. Cela met à jour la valeur du secret client et invalide sa valeur précédente.
6. Téléchargez le fichier JSON contenant les identifiants. Vous pouvez également copier la valeur du secret client à droite de l’écran.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-042.png" alt="Détails du client OAuth Google Cloud affichant le bouton Download JSON et le champ Client secret" />

<div id="updating-the-client-secret-in-microsoft-azure">
  ### Mise à jour du secret client dans Microsoft Azure
</div>

1. Accédez à la page **App registrations** et sélectionnez l’application utilisée pour l’authentification avec le serveur IMAP.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-043.png" alt="Page Azure App registrations affichant la liste Owned applications avec Example App" />

2. Accédez à l’onglet **Certificates & secrets** et cliquez sur **New client secret**.
3. Dans la boîte de dialogue qui s’ouvre, indiquez un nom pour le secret client ainsi que sa date d’expiration.
4. Cliquez sur **Add**. La boîte de dialogue se ferme alors et les informations sur le nouveau secret client s’affichent. Il est important de copier et d’enregistrer la **Value**, car vous ne pourrez plus y accéder après avoir fermé la page.
5. Si le secret client actuel n’a pas encore expiré, vous pouvez le supprimer afin que seul le nouveau secret client puisse être utilisé pour identifier le client.

<div id="updating-the-client-secret-in-consul">
  ### Mise à jour du secret client dans Consul
</div>

Suivez les étapes indiquées dans [Fourniture des informations d’identification à Consul](#passing-credentials-to-consul), à l’exception des étapes 6 et 7 (copie de la valeur `clientId`).
