Desenvolvedor de sinal do OneSpan: vencimento da sessão em um iFrame

Ao desenvolver seu aplicativo com a cerimônia de assinatura incorporada ao iFrame, convém considerar a Expiração da Sessão do Signatário. Esse recurso expira automaticamente o usuário do documento se houver um período de inatividade. Por exemplo, você pode redirecionar seu assinante para sua página de login ou ajudar seu assinante a estender sua sessão.
Neste blog, abordaremos as configurações relacionadas à sessão do assinante no OneSpan Sign e explicaremos como podemos criar um mecanismo de expiração da sessão de assinatura que forneça segurança aos seus usuários sem prejudicar a experiência do cliente.
Sessão do assinante no OneSpan Sign
Quando um usuário inicia uma cerimônia de assinatura, o OneSpan Sign atribui ao usuário uma sessão. Por padrão, esta sessão permanecerá válida, a menos que o usuário fique inativo por um período de 30 minutos. Depois que a sessão expirar, o usuário verá a mensagem de erro abaixo:
Quando o usuário retomar a atividade, o OneSpan Sign redirecionará a página para um URL predefinido, como sua página de login ou o que você definir no nível da sua conta.
Nota:
- A sessão do assinante existe independentemente de você usar um iFrame.
- O tempo limite de expiração da sessão padrão de 30 minutos pode ser modificado entrando em contato com nosso equipe de suporte .
A expiração da sessão é um processo simples se o usuário estiver assinando um link de email em uma página designada. Mas ao entrar em um iFrame, torna-se mais complicado. Se o tempo limite do usuário expirar, não haverá para onde o OneSpan Sign redirecionará a página. O OneSpan Sign está confinado ao iFrame como uma janela filho, e a janela pai não será notificada para controlar o processo.
Práticas recomendadas: tempo limite da sessão em um iFrame
Para criar uma política de tempo limite efetivo quando o OneSpan Sign estiver em um iFrame, você deve aproveitar o URL de redirecionamento. Podemos usar esse URL como um link de gancho para notificar a janela pai. Depois que a janela pai receber o notificador, você poderá redirecionar o navegador do cliente para a página de login. Vou mostrar todos os detalhes nas etapas a seguir.
Passo 1:
Modifique a configuração "URL de redirecionamento de expiração da sessão do assinante" no nível da sua conta e vincule-a a um recurso no seu domínio. No exemplo abaixo, simplesmente usamos uma página HTML sem conteúdo (chamada child.html) e é usada apenas para notificar nossa janela principal.
Nota:
- Você pode modificar esse URL entrando em contato com o nosso equipe de suporte .
Passo 2:
Nesse recurso interno, chamamos diretamente uma função JavaScript IIFE para notificar nossa janela pai, como abaixo:
(função(){ window.parent.postMessage ('ESL: MESSAGE: ERRO: SESSION_EXPIRE', "*"); }) ();
Você deve usar uma fonte que compartilhe a mesma origem que a janela pai, porque essa fonte é usada para estabelecer a comunicação entre janelas entre o iFrame e a página pai. E, neste exemplo, usamos uma convenção de nomenclatura semelhante à nossa notificação de eventos para maior consistência.
Etapa 3:
Depois que o redirecionamento é acionado, a janela pai pode receber a mensagem de postagem enviada a partir do link do gancho, e essa mensagem pode ser tratada como qualquer outra notificação enviada pelo OneSpan Sign. Abaixo está um código de exemplo:
função receiveMessage (event) { var origin = event.origin || event.originalEvent.origin; var dados = event.data; console.log (dados, origem); switch (dados) { caso 'ESL: MESSAGE: ERRO: SESSION_EXPIRE': // chame sua função aqui quebrar; padrão: event.source.postMessage (dados, origem) quebrar; } }
Você pode encontrar o código completo aqui .
Token de autenticação de uso único
Algumas organizações estão preocupadas com usuários ociosos, pois isso pode representar um risco de segurança para a cerimônia de assinatura. Para essas organizações, o URL de assinatura pode ser formado com um Token de autenticação de uso único. Assim, quando a sessão do assinante expirar e eles forem redirecionados, eles não poderão voltar à cerimônia de assinatura com o token de autenticação original. O assinante precisará iniciar a cerimônia desde o início e autenticar novamente.
A API REST para token de autenticação de uso único é:
Solicitação HTTP POST / api / authenticationTokens / signer / singleUse Cabeçalhos HTTP Accept: application / json Tipo de Conteúdo: application / json Autorização: básica api_key Solicitar carga útil { "packageId": "s-wy6PFASBlAKfnLJjcbzoaMyTg =", "signerId": "cd9lbzvjgblygdncdz3x @esignlive .com " }
Código Java SDK:
String singleUseToken = eslClient.getAuthenticationTokensService (). CreateSignerAuthenticationTokenForSingleUse (packageId, signerId, signerSessionFields);
Código do SDK .Net:
string singleUseToken = eslClient.AuthenticationTokensService.CreateSignerAuthenticationTokenForSingleUse (packageId, signerId, signerSessionFields);
E recomendamos a criação do seguinte URL para obter seu URL de assinatura:
https://sandbox.esignlive.com/access?sessionToken={signerAuthToken}
Para mais informações, visite nosso Orientação sobre token de autenticação .
Ao aplicar essas práticas recomendadas, você pode melhorar sua experiência de assinatura em um iFrame, fornecendo um recurso de expiração de sessão e facilitando o controle do fluxo de trabalho do seu aplicativo.
Se você tiver alguma dúvida sobre este blog ou qualquer outra coisa relacionada à integração do OneSpan Sign ao seu aplicativo, visite o Fóruns da comunidade de desenvolvedores . Seu feedback é importante para nós!