OneSpan Sign Developer: Session Expiry in an iFrame OneSpan Sign Developer: Session Expiry in an iFrame OneSpan Sign Developer: Session Expiry in an iFrame OneSpan

Duo Liang, octobre 3, 2018

Lorsque vous développez votre application avec la cérémonie de signature intégrée dans un iFrame, vous pouvez envisager l'expiration de la session Signer. Cette fonctionnalité délaid automatiquement un utilisateur de votre document s'il ya une période d'inactivité. Par exemple, vous pouvez rediriger votre signataire vers votre page de connexion ou aider votre signataire à prolonger votre session.

 

Dans ce blog, nous allons plonger dans les paramètres liés à la session de signataire dans OneSpan Sign et expliquer comment nous pouvons construire un mécanisme d'expiration de session de signature qui fournit la sécurité pour vos utilisateurs sans nuire à l'expérience client.

 

 

Session Signer dans un signe OneSpan

 

Lorsqu'un utilisateur commence une cérémonie de signature, OneSpan Sign attribue à l'utilisateur une session. Par défaut, cette session restera valide à moins que l'utilisateur ne soit inactif pendant une période de 30 minutes. Une fois la session expirée, l'utilisateur verra le message d'erreur ci-dessous :

 

 

10-3-1

Lorsque votre utilisateur reprend l'activité, OneSpan Sign redirige la page vers une URL pré-séquilée, telle que votre page de connexion ou tout ce que vous avez réglé dans votre niveau de compte.

 

 

Note:

  • La session Signer existe, que vous utilisiez une iFrame. 
  • Le délai d’expiration de la session par défaut de 30 minutes peut être modifié en contactant notre équipe de support.

     

L'expiration de la session est un processus simple si votre utilisateur signe via un lien e-mail sur une page désignée. Mais lors de la signature dans un iFrame, il devient plus compliqué. Si l'utilisateur s'éparie, il n'y aura pas d'endroit où OneSpan Sign rediriger la page vers. OneSpan Sign est confiné à l'iFrame comme une fenêtre enfant, et la fenêtre parent ne sera pas notifié de prendre le contrôle du processus.

 

 

Meilleures pratiques : Temps de séance dans un iFrame

 

Pour créer une stratégie de délai d'arrêt efficace lorsque OneSpan Sign est dans un iFrame, vous devez profiter de l'URL de redirection. Nous pouvons utiliser cette URL comme lien de crochet pour avertir la fenêtre parente. Une fois que la fenêtre de votre parent reçoit le déclarant, vous pouvez rediriger le navigateur client vers la page de connexion. Je vais vous montrer tous les détails dans les étapes suivantes.

 

 

Étape1:

 

Modifiez votre paramètre "Signer Session Expiry Redirect URL" dans le niveau de votre compte et liez-le à une ressource de votre domaine. Dans l'exemple ci-dessous, nous utilisons simplement une page HTML sans contenu (nommé child.html), et elle n'est utilisée que pour avertir notre fenêtre parente.

 

 

Note:

 

Etape 2:

 

Dans cette ressource interne, nous appelons directement une fonction JavaScript IIFE pour aviser notre fenêtre parente comme ci-dessous :

 

 

 (fonction()MD
    window.parent.postMessage ('ESL:MESSAGE:ERROR:SESSION_EXPIRE', "");
})();

Vous devez utiliser une source qui partage la même origine que la fenêtre parente, car cette source est utilisée pour établir la communication croisée entre l'iFrame et la page parente. Et dans cet exemple, nous avons utilisé une convention de nommage similaire à notre notification d'événement pour une plus grande cohérence.

 

 

Etape 3:

 

Une fois que la redirection est déclenchée, la fenêtre parente peut recevoir le message envoyé à partir du lien de crochet, et ce message peut être traité comme d'autres notifications envoyées à partir de OneSpan Sign. Voici un exemple de code:

 

 

fonction recevoirMessage (événement)
      var origine 'event.origin' event.originalEvent.origin;
      données var -event.data;
      console.log (données, origine);

      commutateur (données)
        cas 'ESL:MESSAGE:ERROR:SESSION_EXPIRE':
          appeler votre fonction ici
          pause;
        Par défaut:
          event.source.postMessage (données, origine)
          pause;
      }
    } 

Vous pouvez trouver le code complet ici.

 

 

Jeton d'authentification à usage unique

 

Certaines organisations sont préoccupées par les utilisateurs inouïs car cela pourrait poser un risque pour la sécurité de la cérémonie de signature. Pour ces organisations, l'URL de signature peut être formée avec un jeton d'authentification à usage unique, de sorte qu'une fois la session du signataire expiré et qu'elle est redirigée, elle ne peut pas revenir à la cérémonie de signature avec un jeton d'authentification original. Le signataire devra commencer la cérémonie dès le début et se réautheriser.

 

 

L'API REST pour le jeton d'authentification à usage unique est :

Demande HTTP
POST /api/authentificationTokens/signer/singleUse

En-têtes HTTP
Accepter : application/json
Content-type: application/JSON
Autorisation: api_key de base

Demande de charge utile
{
   "packageId":"s-wy6PFASBlAKfnLJcbzoaMyTg",
   "signerId":"[email protected]"
}

Code Java SDK:

String singleUseToken - eslClient.getAuthenticationTokensService().createSignerAuthenticationTokenForSingleUse(packageId, signId, signSessionFields);

Code SDK .Net: 

string singleUseToken - eslClient.AuthenticationTokensService.CreateSignerAuthenticationTokenForSingleUse (packageId, signId, signSessionFields);

Et nous vous recommandons de construire l'URL suivant pour obtenir votre URL de signature :

https://sandbox.esignlive.com/access?sessionToken-signerAuthToken

Pour plus d’informations, visitez notre Guide de jeton d’authentification .

 

 

En appliquant ces meilleures pratiques, vous pouvez améliorer votre expérience de signature dans un iFrame en fournissant une fonction d'expiration de session et en facilitant le contrôle du flux de travail de votre application.

 

 

Si vous avez des questions concernant ce blog ou toute autre chose concernant l'intégration de OneSpan Sign dans votre application, visitez les Forums communautairesdes développeurs . Vos commentaires sont importants pour nous!