OneSpan Sign開発者:セッション、認証トークン、署名URL –パート2

Duo Liang, 2018年10月24日

の中に前編このブログシリーズでは、セッショントークンと認証トークンのさまざまなライフサイクルと義務について説明し、署名URLが認証トークンによって生成されるものと異なる3つの要因について説明しました。これで、署名式のURLを生成するソリューションを選択できるようになりました。

したがって、主にこれらの3つの概念のコーディングレベルの問題と、興味のある残りの詳細に焦点を当てます。

シングルユースおよびマルチユース認証トークン

認証トークンには、1回の使用と複数回の使用の2つのタイプがあります。単一使用トークンを含むURLは、署名者が署名式にアクセスできるのは1回だけです。署名者がページを更新または閉じるか、親ウィンドウがURLをリダイレクトした場合、同じリンクを使用して署名式に戻ることはできません。

複数使用トークンとは、文字通り、トークンの有効期限が切れていない限り、署名者はいつでも署名式に戻ることができることを意味します。同じトークンを複数回使用できます。

シングルユーストークンとマルチユーストークンの両方が使用されます。どちらを選択するかは、独自の要件によって異なります。

以下のコードは、SDKおよびAPIメソッドのいずれかを使用して、特定の署名者の認証トークンを取得する方法を示しています。

Java SDK:

文字列signerAuthToken = eslClient.getAuthenticationTokensService()。createSignerAuthenticationToken(new PackageId(packageId)、signerId); //認証トークンを複数使用
String singleUseToken = eslClient.getAuthenticationTokensService()。createSignerAuthenticationTokenForSingleUse(packageId、signerId、null); //使い捨て認証トークン

.Net SDK:

文字列signerAuthToken = eslClient.AuthenticationTokenService.CreateSignerAuthenticationToken(new PackageId(packageId)、signerId); //認証トークンを複数使用
string singleUseToken = eslClient.AuthenticationTokensService.CreateSignerAuthenticationTokenForSingleUse(packageId、signerId、signerSessionFields); //使い捨て認証トークン

REST API

HTTPリクエスト
POST / api / authenticationTokens / signer / multiUse //複数回使用
POST / api / authenticationTokens / signer / singleUse //使い捨て
HTTPヘッダー
承諾:application / json
Content-Type:application / json
承認:基本的なapi_key
ペイロードをリクエスト
{
    "packageId": "5vjLRY5MWrDJ6MzRAEyCKOy5IH0 ="、
    "signerId": "8b734331-bc5b-4843-9784-d4ece4b7dc22"
}
応答ペイロード
{
   "packageId": "5vjLRY5MWrDJ6MzRAEyCKOy5IH0 ="、
   "signerId": "8b734331-bc5b-4843-9784-d4ece4b7dc22"、
   "値": "ZDNmMDNiNGUtNGYxOC00YWZiLTkwMmUtNWE5YmIwZTRjZDg1"
}

これらの各メソッドは、大文字と小文字、および数字で構成される以下のようなトークンを生成します。

NDlkZjEyOWYtODFmYy00NDI2LWJhNDYtZTVjMmE3ZGI1YjEy

大文字、小文字、数字と組み合わせます。

注意:

1。このSDK / API呼び出しの署名者IDは、署名者の電子メールで置き換えることができます。

2。認証トークンは、パッケージが「送信済み」または「完了」ステータスの場合にのみ生成できます。

3。ワークフローで署名者のメールアドレスを変更した場合は、署名式にアクセスするときにメールアドレスも検証されるため、新しい認証トークンを生成する必要があります。この検証が失敗した場合、署名者は以下のスクリーンショットのようなページにリダイレクトされます。10-24-1

認証トークンを取得したら、次のURLを作成して署名セッションを取得できます。

https://sandbox.esignlive.com/access?sessionToken={signerAuthToken}

署名URL

Java SDKでは、次の関数を使用して署名URLを直接生成できます。

文字列signingUrl = eslClient.getPackageService()。getSigningUrl(new PackageId( "package id")、“ signer Id”); //この場合、署名者IDをメールで置き換えることはできません

そして.Net SDKでは:

string signingUrl = eslClient.PackageService.GetSigningUrl(new PackageId( "package id")、"signer id"); //この場合、署名者IDをメールで置き換えることはできません

SDKを使用して署名URLを生成する場合、OneSpan Signは電子メールまたはロールIDの代わりに署名者IDを使用するように求めます。そのため、署名者オブジェクトを作成するときは、ロールIDと署名者IDを同期するwithCustomId()関数を強くお勧めします。

HTTPリクエスト
GET / api / packages / {packageId} / roles / {roleId} / signingUrl
HTTPヘッダー
承諾:application / json
Content-Type:application / json
承認:基本的なapi_key
応答ペイロード
{
  "roleId": "2jsTTXD2dZMZ"、
  "url": "https://sandbox.e-signlive.com/auth?target=https %3あ%2 F %2 Fsandbox.esignlive.com \ r \ n %2 Fパッケージ%2 FnaXQwWFSQB9RkOiH6AguBCkXp2k = %2 Fsign&loginToken = \ r \ nMi4xMDAwGpGY3JJPS55ZnNSeHBmekNxc1RzdnNJRVlBSDkZBR1RhcmxKS09aZ3M4aFZXVlpvdExrdz09 "、
  "packageId": "a3b023bf-db56-4c53-b36e-bd9acd0579f4"
}

休憩中

これはSDKとは異なります。これには、署名者IDではなくロールIDが必要だからです。

注意:

認証トークンと同様に、署名URLは特定の電子メールにバインドされています。署名者の電子メールを変更する場合は、必ず関数を再実行して新しい署名URLを作成してください。

このブログでは、認証トークンと署名URLをプログラムで取得する方法を示しました。一緒にこのブログのパート1 、あなたはできる認証トークンを開発する際の選択肢がより柔軟になります。

このブログや、OneSpan Signをアプリケーションに統合することに関するその他の質問がある場合は、開発者コミュニティフォーラム 。あなたのフィードバックは私たちにとって重要です!