OneSpan Sign Developer:iFrameでのセッションの有効期限

Duo Liang, 2018年10月3日

iFrameに埋め込まれた署名式を使用してアプリケーションを開発する場合、署名者セッションの有効期限を検討することをお勧めします。この機能は、非アクティブな期間がある場合、ユーザーをドキュメントから自動的にタイムアウトします。たとえば、署名者をログインページにリダイレクトしたり、署名者がセッションを延長したりできるようにします。

このブログでは、OneSpan Signの署名者セッション関連の設定について詳しく説明し、カスタマーエクスペリエンスを損なうことなくユーザーにセキュリティを提供する署名セッションの有効期限メカニズムを構築する方法を説明します。

OneSpan Signの署名者セッション

ユーザーが署名式を開始すると、OneSpan Signがユーザーにセッションを割り当てます。デフォルトでは、ユーザーが30分間非アクティブでない限り、このセッションは有効なままです。セッションの有効期限が切れると、ユーザーには以下のエラーメッセージが表示されます。

10-3-1

ユーザーがアクティビティを再開すると、OneSpan Signは、ログインページやアカウントレベルで設定したものなど、事前設定されたURLにページをリダイレクトします。

注意:

  • 署名者セッションは、iFrameを使用するかどうかに関係なく存在します。 
  • 30分のデフォルトのセッション有効期限タイムアウトは、支援チーム

ユーザーが指定されたページの電子メールリンクを通じて署名している場合、セッションの有効期限は簡単なプロセスです。ただし、iFrameにサインインすると、より複雑になります。ユーザーがタイムアウトした場合、OneSpan Signがページをリダイレクトする場所はありません。OneSpan Signは子ウィンドウとしてiFrameに制限されており、親ウィンドウはプロセスの制御を取得するよう通知されません。

ベストプラクティス:iFrameでのセッションタイムアウト

OneSpan SignがiFrameにあるときに効果的なタイムアウトポリシーを作成するには、リダイレクトURLを利用する必要があります。このURLを、親ウィンドウに通知するためのフックリンクとして使用できます。親ウィンドウが通知機能を受信すると、クライアントブラウザをログインページにリダイレクトできます。次の手順ですべての詳細を示します。

ステップ1:

アカウントレベルの「Signer Session Expiry Redirect URL」設定を変更して、ドメイン内のリソースにリンクします。以下の例では、コンテンツのないHTMLページ(child.htmlという名前)を使用します。これは、親ウィンドウに通知するためにのみ使用されます。

注意:

ステップ2:

この内部リソースでは、IIFE JavaScript関数を直接呼び出して、次のように親ウィンドウに通知します。

 (関数(){
		window.parent.postMessage( 'ESL:MESSAGE:ERROR:SESSION_EXPIRE'、"*");
})();

このソースはiFrameと親ページ間のウィンドウ間通信を確立するために使用されるため、親ウィンドウと同じ原点を共有するソースを使用する必要があります。この例では、一貫性を高めるために、イベント通知と同様の命名規則を使用しています。

ステップ3:

リダイレクトがトリガーされると、親ウィンドウはフックリンクから送信された投稿メッセージを受信でき、このメッセージはOneSpan Signから送信された他の通知と同じように処理できます。以下はサンプルコードです:

function receiveMessage(event){
			var origin = event.origin || event.originalEvent.origin;
			var data = event.data;
			console.log(data、origin);

			スイッチ(データ){
				ケース 'ESL:MESSAGE:ERROR:SESSION_EXPIRE':
					//ここで関数を呼び出します
					ブレーク;
				デフォルト:
					event.source.postMessage(data、origin)
					ブレーク;
			}
		}	

完全なコードを見つけることができますここに

使い捨て認証トークン

一部の組織は、署名式にセキュリティリスクをもたらす可能性があるため、アイドルユーザーを懸念しています。これらの組織の場合、署名URLは使い捨て認証トークンで形成できるため、署名者のセッションの有効期限が切れてリダイレクトされると、元の認証トークンで署名式に戻ることができなくなります。署名者は最初から式を開始し、再認証する必要があります。

使い捨て認証トークンのREST APIは次のとおりです。

HTTPリクエスト
POST / api / authenticationTokens / signer / singleUse

HTTPヘッダー
承諾:application / json
Content-Type:application / json
承認:基本的なapi_key

ペイロードをリクエスト
{
   "packageId": "s-wy6PFASBlAKfnLJjcbzoaMyTg ="、
   "signerId": "cd9lbzvjgblygdncdz3x @esignlive .com」
}

Java SDKコード:

String singleUseToken = eslClient.getAuthenticationTokensService()。createSignerAuthenticationTokenForSingleUse(packageId、signerId、signerSessionFields);

.Net SDKコード: 

string singleUseToken = eslClient.AuthenticationTokensService.CreateSignerAuthenticationTokenForSingleUse(packageId、signerId、signerSessionFields);

また、次のURLを作成して署名URLを取得することをお勧めします。

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

詳細については、認証トークンのガイダンス

これらのベストプラクティスを適用することで、セッションの有効期限機能を提供し、アプリケーションのワークフロー制御を容易にすることで、iFrameでの署名エクスペリエンスを向上させることができます。

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