Desenvolvedor de sinal do OneSpan: sessão, token de autenticação e URL de assinatura - Parte2

No primeira parte Nesta série de blogs, abordamos diferentes ciclos de vida e funções de tokens de sessão e autenticação, e discutimos os três fatores que tornam um URL de assinatura diferente daquele gerado pelo token de autenticação. Até agora, você já pode selecionar uma solução para gerar URL para sua cerimônia de assinatura.
Portanto, focaremos principalmente as preocupações no nível de codificação desses três conceitos e o restante dos detalhes que podem lhe interessar.
Tokens de autenticação de uso único e uso múltiplo
Existem dois tipos de tokens de autenticação: uso único e uso múltiplo. Uma URL com um token de uso único pode permitir que o assinante tenha acesso à cerimônia de assinatura apenas uma vez. Se o assinante atualizar ou fechar a página ou a janela pai redirecionar o URL, ele não poderá retornar à cerimônia de assinatura usando o mesmo link.
O token de uso múltiplo significa literalmente que os assinantes podem voltar à cerimônia de assinatura a qualquer momento, desde que o token não tenha expirado. Eles podem usar o mesmo token várias vezes.
Os tokens de uso único e de uso múltiplo têm seu lugar. A escolha entre eles depende de seus próprios requisitos exclusivos.
Os códigos abaixo demonstram como você pode recuperar um token de autenticação para um assinante específico usando os métodos SDK e API:
Java SDK:
String signerAuthToken = eslClient.getAuthenticationTokensService (). CreateSignerAuthenticationToken (novo PackageId (packageId), signerId); // token de autenticação de uso múltiplo String singleUseToken = eslClient.getAuthenticationTokensService (). CreateSignerAuthenticationTokenForSingleUse (packageId, signerId, null); // token de autenticação de uso único
.Net SDK:
string signerAuthToken = eslClient.AuthenticationTokenService.CreateSignerAuthenticationToken (new PackageId (packageId), signerId); // token de autenticação de uso múltiplo string singleUseToken = eslClient.AuthenticationTokensService.CreateSignerAuthenticationTokenForSingleUse (packageId, signerId, signerSessionFields); // token de autenticação de uso único
API REST
Solicitação HTTP POST / api / authenticationTokens / signer / multiUse // para uso múltiplo POST / api / authenticationTokens / signer / singleUse // para uso único Cabeçalhos HTTP Accept: application / json Tipo de Conteúdo: application / json Autorização: básica api_key Solicitar carga útil { "packageId": "5vjLRY5MWrDJ6MzRAEyCKOy5IH0 =", "signerId": "8b734331-bc5b-4843-9784-d4ece4b7dc22" } Carga útil da resposta { "packageId": "5vjLRY5MWrDJ6MzRAEyCKOy5IH0 =", "signerId": "8b734331-bc5b-4843-9784-d4ece4b7dc22", "value": "ZDNmMDNiNGUtNGYxOC00YWZiLTkwMmUtNWE5YmIwZTRjZDg1" }
Cada um desses métodos produzirá um token, como o abaixo, composto de letras maiúsculas e minúsculas, além de números.
NDlkZjEyOWYtODFmYy00NDI2LWJhNDYtZTVjMmE3ZGI1YjEy
É combinado com Maiúsculas, Minúsculas e Número.
Nota:
1 O ID do assinante nesta chamada de SDK / API pode ser substituído pelo email do assinante.
2) O token de autenticação só pode ser gerado quando o pacote estiver no status "ENVIADO" ou "CONCLUÍDO".
3) Se você modificou o email do assinante no seu fluxo de trabalho, será necessário gerar um novo token de autenticação, porque o email também será validado ao acessar a cerimônia de assinatura. Se essa validação falhar, o assinante será redirecionado para uma página semelhante à captura de tela abaixo:
Depois de recuperar o token de autenticação, você pode obter uma sessão de assinatura criando o seguinte URL:
https://sandbox.esignlive.com/access?sessionToken={signerAuthToken}
URL de assinatura
No Java SDK, você pode gerar uma URL de assinatura diretamente usando esta função:
String signatureUrl = eslClient.getPackageService (). GetSigningUrl (new PackageId ("id do pacote"), "id do assinante"); // nesse caso, o ID do assinante não pode ser substituído por e-mail
E no .Net SDK:
string signatureUrl = eslClient.PackageService.GetSigningUrl (new PackageId ("identificação do pacote"), "identificação do assinante"); // nesse caso, o ID do assinante não pode ser substituído por e-mail
Ao usar um SDK para gerar o URL de assinatura, o OneSpan Sign solicita que você use o ID do assinante em vez do email ou ID da função. Portanto, ao criar um objeto signatário, é altamente recomendável uma função withCustomId () para sincronizar o ID da função e o ID do assinante.
Solicitação HTTP GET / api / packages / {packageId} / functions / {roleId} / signatureUrl Cabeçalhos HTTP Accept: application / json Tipo de Conteúdo: application / json Autorização: básica api_key Carga útil da resposta { "roleId": "2jsTTXD2dZMZ", "url": "https://sandbox.e-signlive.com/auth?target=https %3 UMA %2 F %2 Fsandbox.esignlive.com \ r \ n %2 Fpackages %2 FnaXQwWFSQB9RkOiH6AguBCkXp2k = %2 Fsign & loginToken = \ r \ nMi4xMDAwGpGY3JJPS55ZnNSeHBmekNxc1RzdnNJRVlBSDkZBR1RhcmxKS09aZ3M4aFZXVlpvdExrdz09 ", "packageId": "a3b023bf-db56-4c53-b36e-bd9acd0579f4" }
Em repouso
Isso difere do SDK porque isso requer um ID da função em vez de um ID do signatário.
Nota:
Semelhante ao token de autenticação, o URL de assinatura está vinculado a um email específico. Se você alterar o e-mail do assinante, execute novamente a função e crie um novo URL de assinatura.
Neste blog, demonstramos como recuperar programaticamente um token de autenticação e URL de assinatura. Junto com parte um deste blog , você pode tenha mais flexibilidade em suas escolhas ao desenvolver tokens de autenticação.
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!