Intégrer la page dans iFrame avec des clés d'intégration (méthode 1)

Vous avez vu dans la vidéo que vous pouvez ajouter un type de page et définir des clés. Ces clés ont pour objectif de transmettre de manière sécurisée les données de l'utilisateur actuel d'InSite ou d'OutSite à un partenaire.

Dans Profit, vous pouvez créer une clé publique et une clé secrète ; les deux parties doivent connaître ces clés (client AFAS et partenaire AFAS). La combinaison de ces clés étant connue seulement de ces parties, on peut supposer qu'elles se connaissent.

L'exemple ci-dessous utilise un site InSite sur lequel un utilisateur est connecté. Dès que l'utilisateur ouvre une page d'intégration, l'échange de données démarre entre l'utilisateur et le partenaire.

Etape 1 : Utilisateur ouvre la page d'intégration

L'utilisateur ouvre la page d'intégration.

Etape 2 : Vérification des clés

La page InSite vérifie qu'une clé publique et une clé secrète sont disponibles

Etape 3 : Génération d'un jeton

Si la page comporte une clé publique et une clé secrète, un token est généré avec les données de l'utilisateur actuel. Un token est un objet regroupant les données d'un utilisateur.

Contenu du token

Etape 4 : Enregistrement du token

Le token est enregistré dans Profit (et n'est pas envoyé au partenaire).

Etape 5 : Construction de la page InSite et renvoi à l'utilisateur

La page InSite est construite et renvoyée à l'utilisateur. Le HTML de cette page contient également un frame destiné à la page du partenaire.

Etape 6 : Demande du contenu du frame auprès du partenaire

Le navigateur de l'utilisateur reçoit la page InSite et effectuera une demande auprès du partenaire pour le contenu du frame.

Les paramètres suivants sont ajoutés par InSite à l'URL du frame :

partner.nl/pagina.html?

tokenurl=insite.nl/gettoken

code=T001

publickey=publ123

sessionid=YYYYY

Explication :

  • tokenurl

    L'URL permettant au partenaire de demander le token.

  • code

    Ce code permet de savoir quel token le partenaire souhaite avoir.

  • publickey

    La clé publique qui est définie dans Profit est indiquée au niveau du type de page.

  • sessionid

    L'id. permet de valider ultérieurement si le token est encore valide pour l'utilisateur actuel. Cette id. change dès que l'utilisateur se déconnecte, change d'organisation ou (dés)active le mode admin.

Etape 7 : Demande de clé secrète

La clé publique permet au partenaire de rechercher la clé secrète dans sa propre administration.

Etape 8 : Création d'un message POST

Les informations reçues et recherchées permettent au partenaire de créer un message POST. Ce message contient la clé secrète et le code unique qui permet d'identifier le token. Le message doit être envoyé à l'URL du token.

HTTP POST insite.nl/gettoken

secret= scr@

code= T001

Etape 9 : Vérification du token et des clés

Sur la base du message reçu, InSite recherche le token et vérifie notamment si la clé secrète correspond au token demandé.

Dès que le token est trouvé, il est supprimé de la base de données Profit. Le token ne peut donc être demandé qu'une seule fois. En outre, le token doit être demandé dans les 5 minutes car il sera supprimé ensuite.

Etape 10 : Envoi du token au partenaire

Une fois le token trouvé et validé, InSite envoie le token au format JSON au partenaire.

Le partenaire peut ensuite enregistrer le token afin que celui-ci reste disponible pour la session actuelle. Pour chaque demande de la page d'intégration, le partenaire doit vérifier si le token est encore valide pour la session actuelle de l'utilisateur d'InSite.

Le fait d'intégrer l'URL de la feuille de style et du javascript dans la page offre une expérience véritablement intégrée à l'utilisateur.

Aller directement à

  1. Ajouter une page d'intégration dans InSite et OutSite
  2. Ajout d'un type de page pour iFrame
  3. Activation d'un type de page pour iFrame
  4. Affichage de contenu dans iFrame
  5. Méthode 1 : Intégrer la page dans iFrame avec des clés d'intégration
  6. Méthode 2 : Intégrer la page dans iFrame sans clés d'intégration
  7. Questions fréquemment posées