Documentation Index

Fetch the complete documentation index at: https://docs.document360.com/llms.txt

Use this file to discover all available pages before exploring further.

Clause de non-responsabilité: Cet article a été généré par traduction automatique.

JWT

Prev Next

JSON Web Token (JWT) est un format de jeton chiffré qui transfère de manière sécurisée les données d’authentification et d’autorisation entre deux applications. Dans Document360, JWT est utilisé pour authentifier les connexions des lecteurs à votre site de base de connaissances.

Document360 utilise une approche similaire à PKCE (Proof Key for Code Exchange, une méthode OAuth sécurisée) pour générer le jeton JWT.

Flowchart illustrating user login process for accessing knowledge base content securely.

Quand NE PAS utiliser JWT

JWT n’est pas le bon choix si :

  • Votre organisation utilise déjà un fournisseur d’identité centralisé (Okta, Microsoft Entra, Google Workspace) et souhaite que les lecteurs s’authentifient via celui-ci. Utilisez plutôt SAML ou OpenID Connect. Pour ce faire, lisez Connexion Unique (SSO).
  • Vous avez besoin de fonctionnalités telles que des lecteurs SSO à enregistrement automatique, l’auto-enregistrement du lecteur, ou le fait de sauter la page de connexion commune de Document360. Ces fonctionnalités ne sont pas prises en charge par JWT.
  • Vous avez besoin d’une authentification utilisateur (portail). JWT ne prend en charge que l’authentification par lecteur sur le site de la base de connaissances.

JWT vs SAML vs OpenID Connect

Caractéristiques JWT SAML / OpenID Connect
Gestion des lecteurs Les lecteurs sont authentifiés à partir de votre propre application. Pas besoin de créer ou de gérer des comptes lecteurs dans Document360. Les lecteurs sont gérés via le fournisseur d’identité (IdP) de votre organisation, tel qu’Okta, Azure AD ou Google Workspace.
Destination de connexion Redirige toujours vers le site de la base de connaissances. Les utilisateurs ne peuvent pas accéder au portail Document360 via JWT. Peut supporter à la fois les connexions du lecteur et de l’équipe, selon la configuration.
Quand utiliser C’est idéal si vous n’avez pas d’IDP ou si vous préférez gérer l’authentification dans votre propre application. Recommandé si votre organisation utilise déjà une IDP et souhaite une authentification centralisée et un contrôle d’accès.
Flux d’enregistrement des utilisateurs Vous contrôlez la connexion et le provisionnement des utilisateurs dans votre propre application. Peut supporter l’auto-enregistrement, la réinitialisation du mot de passe et la gestion du cycle de vie de l’utilisateur selon l’IDP.
Page de connexion SSO Vous définissez l’URL de connexion et, éventuellement, l’URL de déconnexion dans les paramètres de configuration JWT. La page de connexion est gérée par l’IDP, et les redirections sont gérées via les paramètres SAML ou OpenID.
Fonctionnalités avancées Non supporté : enregistrement automatique des lecteurs SSO, saut la page de connexion de Document360, auto-enregistrement du lecteur. Disponible selon les capacités de l’IDP.
Mise en œuvre Configuration plus simple pour les développeurs. Vous générez le JWT, le signez avec un secret client créé dans Document360, et gérez l’authentification dans votre application. Nécessite la configuration des métadonnées IdP, des certificats et des correspondances avec Document360.

Fonctionnement de l’authentification JWT

Le schéma ci-dessous montre le flux complet d’authentification JWT entre votre application, le serveur d’identité Document360 et le site de la base de connaissances.

Flowchart illustrating user authentication process with Document360 Identity Server and Customer App.

Terminologie clé

Mandat Description
URL de connexion Une page de connexion publique dans votre application où les utilisateurs sont redirigés pour s’authentifier.
URL de génération de code Un point de terminaison backend sécurisé dans votre application qui envoie les données utilisateur à Document360 pour obtenir un code d’autorisation.
URL de rappel L’URL dans Document360 où votre application redirige l’utilisateur après avoir reçu le code d’autorisation. Cela est généré automatiquement par Document360.

Flux d’authentification

  1. L’utilisateur accède à la base de connaissances privée. Document360 détecte que JWT SSO est activé et redirige l’utilisateur vers l’URL de connexion configurée dans les paramètres JWT.
  2. L’utilisateur se connecte à votre application. Si l’utilisateur n’est pas encore authentifié, votre page de connexion gère son authentification.
  3. Votre backend demande un code d’authentification à usage unique. Votre backend envoie une POST requête à l’URL de génération de code avec l’identité de l’utilisateur, optionnelle readerGroupIds, et tokenValidity en quelques minutes. Cette requête doit être autorisée en utilisant l’authentification HTTP Basic avec votre identifiant client et votre secret client.

Exemple d’en-tête d’autorisation

Authorization: Basic Base64Encode(clientId:clientSecret)

Exemple de charge utile JSON

{
  "username": "firstname + lastname",
  "firstName": "firstname",
  "lastName": "lastname",
  "emailId": "user email",
  "readerGroupIds": ["Obtain from Reader groups overview page in the Document360 portal (Optional)"],
  "tokenValidity": 15
}

NOTE

Assurez-vous de tenir une syntaxe JSON correcte pour éviter les erreurs de configuration.

  1. Le serveur d’identité Document360 renvoie un code d’authentification. Si la requête est valide, le serveur d’identité de Document360 génère un code d’autorisation à usage unique et le renvoie à votre backend.
  2. Votre application redirige l’utilisateur vers Document360. Votre backend ajoute le code à l’URL de rappel et y redirige l’utilisateur. Par exemple : https://yourproject.document360.io/jwt/authorize?code=xyz

NOTE

Le code d’authentification est un code à usage unique et ne peut pas être réutilisé.

  1. Document360 valide le code. Document360 l’envoie au serveur d’identité via un backchannel pour l’échanger contre un jeton JWT.
  2. La session de lecture est créée. Document360 extrait les informations utilisateur et les règles d’accès à partir readerGroupIds du jeton. Une session est créée pour le lecteur, lui donnant accès aux catégories, langues ou versions autorisées.

Validité du jeton et comportement de session

  • Vous pouvez définir la durée de la session en utilisant le tokenValidity champ dans la charge utile (min : 5 minutes, maximum : 1440 minutes).
  • Une fois le jeton expiré, le lecteur est redirigé vers votre URL de connexion.
  • Si l’utilisateur est toujours authentifié dans votre application, un nouveau code est généré et la session est rétablie sans interruption.

Commencez avec JWT

Article Description
Configurez JWT dans Document360 Créez votre configuration JWT, configurez les paramètres de connexion au niveau du projet, et générez vos jetons secrets.
Implémentez JWT dans votre application Configurez la logique de redirection backend avec des exemples de code en C#, Node.js et Java.
Testez votre configuration JWT Vérifiez votre installation en utilisant cURL ou Postman avant de lancer le service.
Gestion des configurations JWT Activer, désactiver, supprimer et gérer la rotation des jetons, le routage des domaines, les états des pages de connexion et les journaux d’audit.
Groupes de lecteurs JWT Contrôlez quels lecteurs de contenu peuvent accéder en les assignant à des groupes de lecteurs via JWT.
Configurez JWT pour le widget de la base de connaissances Configurez l’authentification JWT pour votre widget de base de connaissances intégrée.
JWT pour le chatbot IA Sécurisez l’accès à vos chatbots IA grâce à l’authentification JWT.

ASTUCE

Si vous configurez JWT pour la première fois, suivez les étapes dans l’ordre : configurez JWT dans Document360 → implémentez JWT dans votre application → testez votre configuration JWT.


FAQ

Si un utilisateur JWT se déconnecte de l’application client, est-il aussi déconnecté de Document360 ?

Non. La session sur Document360 est indépendante après la première connexion. Les utilisateurs peuvent continuer à utiliser Document360 jusqu’à l’expiration de la validité du jeton, même après s’être déconnectés de l’application client. Par exemple, si la validité du token est fixée à 1 jour, la session Document360 restera active jusqu’à l’expiration du jeton.

Puis-je fournir une valeur de validité de token en dehors de la plage autorisée ?

Non. Si une valeur en dehors de la plage est fournie, le système attribue automatiquement la valeur autorisée la plus proche : 5 minutes pour les valeurs inférieures au minimum, et 1440 minutes pour les valeurs supérieures au maximum.

Quelle est la différence entre JWT et SSO ?

Vous pouvez consulter une comparaison entre JWT (JSON Web Token) et SSO (Single Sign-On) dans le tableau ci-dessous :

Catégorie JWT (JSON Web Token) SSO (Connexion Unique)
Authentification Jetons générés par session ou demande utilisateur. Authentification centralisée entre applications.
Expiration du jeton Les jetons expirent généralement après une période déterminée. Pas de jeton ; La session est gérée par le fournisseur d’identité.
Sécurité Nécessite un stockage sécurisé de jetons. Plus sûr ; stockage centralisé des identifiants.
Utilisation Utilisé pour l’authentification sans état, à usage unique. Utilisé pour plusieurs applications avec un seul identifiant.
Intégration Plus facile à implémenter dans des applications personnalisées. Cela nécessite une intégration avec un fournisseur d’identité.

JWT et SSO (SAML ou OpenID Connect) peuvent-ils être actifs simultanément ?

Oui. Les configurations JWT et SSO peuvent coexister dans un même projet sans conflit. Chaque type est géré de manière indépendante. Les changements sur l’un n’affectent pas l’autre.

Que dois-je faire si des jetons secrets sont perdus ?

Les jetons secrets ne sont affichés qu’une seule fois lors de la création de la configuration. Si vous êtes perdu, allez dans le modal Modifier la configuration et cliquez sur Régénérer pour obtenir le jeton concerné. La régénération invalide immédiatement le jeton existant. Mettez à jour votre application avec le nouveau jeton sans délai pour éviter les échecs d’authentification.