Visualisateur de Documents Externe Constellio
  • 29 Jan 2025
  • 2 Minutes à lire
  • Contributeurs
  • Sombre
    Clair
  • PDF

Visualisateur de Documents Externe Constellio

  • Sombre
    Clair
  • PDF

Résumé de l’article

Visualisateur de Documents Externe Constellio

Introduction

Le visualisateur de documents externe de Constellio permet à vos utilisateurs de consulter des documents directement dans leur navigateur via une iframe. L’accès à l’URL du visualisateur est sécurisé grâce à OAuth, nécessitant la création d’une application OAuth et l’obtention d’un jeton d’accès JWT.


Fonctionnalités principales

  1. Consultation de documents :

    • Supporte de nombreux formats, notamment PDF, images, et documents Office.

  2. Génération d’URL dynamique :

    • Une API fournit une URL prête à être utilisée dans une iframe.

  3. Sécurisation via OAuth :

    • L’accès est protégé par un processus d’authentification sécurisé avec des jetons JWT.


Configuration

Étapes initiales (à réaliser une seule fois)

1. Générer un token pour l’API OAuth

Pour créer une application OAuth, vous devez disposer d’un token valide. Vous pouvez générer ce token à l’aide de l’API suivante :

Endpoint :

GET https://{domaine}/constellio/generateToken?username={username}&password={password}

Paramètres :

  • {username} : Nom d’utilisateur valide dans Constellio.

  • {password} : Mot de passe associé à l’utilisateur.

Réponse : Si l'API retourne une réponse en XML, voici un exemple du format attendu :

<response>
    <serviceKey>abcd1234-ef56-7890-ab12-cd34567890ef</serviceKey>
    <token>12345678-abcd-90ef-1234-567890abcdef</token>
</response>

Conservez ce token pour authentifier votre requête lors de la création de l’application OAuth.

2. Créer une application OAuth

Endpoint :

POST https://{domaine}/constellio/oauth/v2/credentials?applicationName={applicationName}&client_type=CONFIDENTIAL&scope=all

En-têtes requis :

Authorization: Bearer {token}

Réponse :

{
    "client_id": "votre-client-id",
    "client_secret": "votre-client-secret"
}

Conservez ces informations pour générer un jeton JWT.


Étapes régulières (après configuration initiale)

3. Générer un jeton JWT

Endpoint :

POST https://{domaine}/constellio/oauth/v2/token

Payload :

{
    "grant_type": "password",
    "client_id": "votre-client-id",
    "client_secret": "votre-client-secret",
    "username": "votre-nom-d'utilisateur",
    "password": "votre-mot-de-passe"
}

Note : Les données doivent être envoyées en format x-www-form-urlencoded.

Réponse :

{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "token_type": "Bearer",
    "expires_in": 3600,
    "refresh_token": "d41d8cd98f00b204e9800998ecf8427e"
}

Conservez le access_token pour appeler l’API du visualisateur.

4. Générer l’URL du visualisateur

Endpoint :

GET https://{domaine}/constellio/api/v2/documents/{documentId}/viewer

Paramètres dynamiques :

  • {domaine} : Domaine de votre instance Constellio.

  • {documentId} : Identifiant unique du document à consulter.

En-têtes requis :

Authorization: Bearer {access_token}

Réponse : Une URL directe, prête à être utilisée.

Exemple :

https://{domaine}/viewer/{documentId}?token={singleUseToken}&mimeType={documentMimeType}&documentTitle={documentTitle}

Détails de l'URL générée

Structure :

https://{domaine}/viewer/{documentId}?token={singleUseToken}&mimeType={documentMimeType}&documentTitle={documentTitle}

Paramètres :

  1. {domaine} : Domaine de l'instance Constellio (ex. https://moninstance.constellio.com).

  2. {documentId} : Identifiant unique du document.

  3. token : Jeton JWT à usage unique permettant de récupérer le contenu binaire.

  4. mimeType : Type MIME du document (ex. application/pdf, image/jpeg).

  5. documentTitle : Titre lisible du document affiché dans le visualisateur (ex. Contrat_Client.pdf).


Configuration de l'application de visualisation

L'application de visualisation est fournie sous forme d'une image Docker. Pour la configurer, il est nécessaire de définir certaines variables d'environnement :

  • CONSTELLIO_BASE_URL : L'URL de base de l'instance Constellio (par exemple : https://moninstance.constellio.com).

Ces variables doivent être configurées au moment du déploiement pour permettre à l'application de communiquer correctement avec l'instance Constellio.


Exemple d'intégration avec iframe

<iframe 
    src="https://moninstance.constellio.com/viewer/12345?token=eyJhbGciOiJIUzI1NiIsInR...&mimeType=application/pdf&documentTitle=Contrat_Client.pdf" 
    width="100%" 
    height="800px" 
    frameborder="0">
</iframe>


Cet article vous a-t-il été utile ?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.