OneSpan Signリリース11.34:クライアントアプリケーションのAPIトークン

Duo Liang, 2020年6月3日

OneSpan Signバージョン11.34が最近プレビューおよびサンドボックス環境に導入されました。この新しいバージョンでは、添付ファイルのプレビュー、対面での署名のサポート、改良されたナビゲーターなどの新しい機能を新しい署名者エクスペリエンスに継続的に提供しました。その上、開発者は、トランザクション編集ページをiFrameに埋め込むことができるなどのエキサイティングな機能や、このブログで概説するAPI呼び出しの2番目の認証方法を採用しています。 

すべての環境の展開日は、トラストセンターページ。

クライアントアプリケーションAPIトークン

OneSpan Signは、統合アプリケーションが使用するシンプルで柔軟なAPIインターフェイスを提供します。以前は、各着信呼び出しは、APIに対して認証するためのセキュアなAPIキーを提供する必要がありました。しかし、これはもはやそうではありません。OneSpan Signは11.34で、サードパーティ統合用のクライアントIDとシークレットのペアを登録できる代替認証方法を備えています。次に、これらのペアを使用して、APIリクエストを認証する、安全だが有効期間の短いAPIトークンを生成できます。 

ステップ1:機能をオンにする

アカウントでこの機能がオンになっているかどうかを確認するには、アカウント所有者の送信者ポータルにログオンし、トップメニューの[管理者]ドロップダウンをクリックして[APIアクセス]を選択します。APIアクセスページで、[クライアントアプリ]セクションに移動します(下のスクリーンショットを参照)。 

6-3-1

注意 :「クライアントアプリ」セクションが見つからない場合は、支援チームアカウントの機能を有効にします。 

ステップ2:クライアントアプリケーションに登録する

次のステップは、クライアントシステムのクライアントIDとシークレットのペアを登録することです。複数の統合アプリケーションがある場合は、統合ごとに個別のペアを作成できるため、各クライアントアプリケーションのAPIトラフィックを個別にログに記録して監視できます。

「追加」ボタンを押すと、「クライアントアプリの作成」サイドバーが表示されます。

6-3-2
 
クライアントIDとシークレットの両方を使用して、一時的なAPIトークンを取得します。シークレットは1回しか表示されないため、このシークレットを安全な場所に保存することが重要です。

手順3:アクセストークンの要求

クライアントIDとシークレットのペアは、以下のAPI呼び出しを使用して、短期間のアクセストークンを要求するために後で使用できます。

HTTPリクエスト

POST / apitoken / clientApp / accessToken

HTTPヘッダー

承諾:application / json
Content-Type:application / json

ペイロードをリクエスト

{
  "clientId": "your_client_id"、
  "秘密": "your_client_secret"、
  "タイプ": "所有者"
}

「タイプ」フィールドで使用可能なオプションは、「所有者」と「送信者」です。後者の場合、「メール」フィールドは必須です。

{
  "clientId": "your_client_id"、
  "シークレット": "your_client_secret"、
  "タイプ": "送信者"、
  "email": "sender_email"
}

タイプと電子メールを指定することにより、一時的なアクセストークンが後でAPIリクエストを行うために使用されるときに、認証されたユーザーが誰であるかを決定します。

応答の例

{
    "accessToken": "17270a2f8960e84937478a60013404"、
    「expiresAt」:1591029428203
}

アクセストークンは、Linuxタイムスタンプで表される有効期限とともにAPI応答から返されます。 

ステップ4:アクセストークンを使用してAPI呼び出しを認証する

アクセストークンの有効期限が切れる前に、いつでもそれを使用してAPI呼び出しを認証できます。APIキーの使用方法と同様に、HTTPヘッダー「Authorization」を「Bearer」に設定し、その後にステップ3で生成されたアクセストークンを設定します。ここでのパッケージ取得APIが良い例です。

HTTPリクエスト

GET / api / packages / {packageId}

HTTPヘッダー

承諾:application / json; esl-api-version = 11.21 
許可:Bearer 17270a2f8960e84937478a60013404

SDKサポート

SDKインテグレーターの場合、上記のステップ3と4が内部的に呼び出され、APIキーで認証するときに以前と同じシームレスなエクスペリエンスを提供します。「EslClient」の新しいコンストラクター署名が導入され、APIトークン関連のパラメーターを指定できるようになりました。 

public EslClient(ApiTokenConfig apiTokenConfig、String baseURL、boolean allowAllSSLCertificates、ProxyConfiguration proxyConfiguration、boolean useSystemProperties、Map ‘string’ headers)

実際に使ってみましょう。

文字列BASE_API_URL = "https://sandbox.esignlive.com";
文字列CLIENT_APP_ID = "your_client_id";
文字列CLIENT_APP_SECRET = "your_client_secret";
EslClient eslClient = new EslClient(ApiTokenConfig
			.newBuilder()
			.clientAppId(CLIENT_APP_ID)
			.clientAppSecret(CLIENT_APP_SECRET)
			.baseUrl(BASE_API_URL)
			.tokenType(TokenType.OWNER)
			//.senderEmail("sender_email ")//タイプがOWNERの場合、送信者の電子メールを指定する必要はありません 
			.build()
		、BASE_API_URL + "/ api"、false、null、false、new HashMap ‘string’());
文字列applicationVersion = eslClient.getSystemService()。getApplicationVersion();
System.out.println(applicationVersion);

EslClientオブジェクトを作成して、SDK関数を簡単に呼び出すことができます。SDKは、EslClientオブジェクト内に格納されているAPIトークンをSDKが取得する、生成されたアクセストークンのライフサイクルを管理するのに役立ちます。したがって、同じEslClientオブジェクトの場合、内部のRESTクライアントは、トークンが1分で期限切れにならない限り、新しいAPIトークンを要求しません。

注意:

  • SDKのバージョンが11.34以降であることを確認してください。
  • APIキーからAPIトークンに移行する場合は、他のコンストラクター署名「public EslClient(String apiKey、String baseURL)」に慣れているかもしれません。新しいコンストラクターに変換するときに渡す値について混乱している場合は、すべての入力パラメーターをデフォルト値として設定した上記の例を参照してください。 
  • 「ApiTokenConfig」ビルダーから要求されるベースURLは、パスの「/ api」を除外する必要があります。 
  • アカウント所有者用のAPIトークンが作成されている場合、送信者の電子メールを指定する必要はありません。

そこにそれがある。今日のブログを読んだ後は、クライアントアプリケーションを登録し、APIトークンを生成してAPIリクエストを認証する方法を理解することができます。

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

OneSpan Sign開発者コミュニティ

OneSpan Sign開発者コミュニティ

OneSpan Sign開発者コミュニティに参加してください!フォーラム、ブログ、ドキュメント、SDKダウンロードなど。

今日参加します