Skip to main content

認証プロセスの概要

SAML 認証を使用すると、ABBYY FlexiCapture 12 のユーザーは、サードパーティの ID プロバイダー (Google や Facebook など) で認証を行い、その後、信頼できるサードパーティから認証成功に関するデータを Application Server に渡すことで、ユーザー名やパスワードなどの ID 情報を FlexiCapture の Application Server コンポーネントに送信せずに済みます。 ユーザーアプリケーションにおける SAML 認証プロセスは、次の手順で構成されます。
  • サードパーティの ID プロバイダーで認証する
  • サードパーティの ID プロバイダーからユーザーの SAML 認証データを取得する
  • SAML 認証データを Application Server に送信する
  • Application Server から認証済みチケットを受け取る
このチケットは、その後、Application Server へのリクエストで使用できます。
ユーザーアカウントは FlexiCapture データベース内に存在し、必要な権限をすべて持っている必要があります。

実装

SAML データを取得する

サードパーティのID プロバイダーから取得した SAML データは、次の形式になります (この例は OneLogin のものです) :
サードパーティのID プロバイダーから認証データを取得する方法の詳細については、そのID プロバイダーのドキュメントを参照してください。たとえば、OneLogin では、複数のプログラミング言語で SAML 認証を有効にするためのすぐに使えるツールキットを提供しています。

SAML データをFlexiCapture 12 Application Serverに送信する

SAML データをBase64でエンコードし、https://<Application Server>/Flexicapture12/Server/Saml にPOSTリクエストを送信してApplication Serverに送ります。SAML データを含むfieldの名前は SAMLResponse にする必要があります。
テナントを使用している場合は、Server URL にテナントの識別子を追加します。例: https://<ApplicationServer>/Flexicapture12/Server/Saml?Tenant=MyTenantName 認証を機能させるには、SAML データ内の識別子と一致するログインを持つユーザーが Application Server に登録されている必要があります。/samlp:Response/saml:Assertion/saml:Subject/saml:NameID field の値がログインとして使用されます。 Application Server は次のようなレスポンスを返します。
<ticket> タグ内の値は、認証済みの FlexiCapture 12 チケットです。このチケットを使用すると、認証が必要なすべての Application Server インターフェイスに対して呼び出しを行うことができます。FlexiCapture のウェブサービスに対するリクエストは、FlexiCapture 認証を使用して送信する必要があります (https://<ApplicationServer>/flexicapture12/Server/FCAuth/ または https://<ApplicationServer>/flexicapture12/Server/MobileApp/ で始まるアドレス) 。

認証済みの FC 12 チケットの使用

cookie ファイル (ファイル名は FlexiCaptureTmpPrn である必要があります) または Authorization: Bearer ヘッダーを使って、チケットをサーバーに渡せます。例:
ヘッダーを使用することを推奨します。Cookie は、従来のソリューションとの互換性のためにサポートされています。 認証に成功すると、サーバーの応答には、更新されたチケット値が、同じログイン名 (FlexiCaptureTmpPrn) の Cookie ファイルと AuthTicket ヘッダーの両方に含まれます。次のリクエストは、この更新されたチケットを使用して行う必要があります (チケットは一定時間が経過すると期限切れになります) 。

Application Server で信頼できる証明書を設定する

Application Server は、ID プロバイダーから受信したデータを検証します。Application Server がこのデータを信頼するには、Application Server の信頼された認証局データベースに含まれる認証局が発行したカスタム証明書で、このデータが署名されている必要があります。 証明書を ABBYY FlexiCapture データベースにインポートします。以後、この証明書を使用してデータが検証されます。詳しくは、Single Sign-On の設定を参照してください。 検証に失敗した場合、Application Server は Web.config ファイルの <appSettings> 設定内にある AllowMixedModeCertificateValidation パラメーターを参照します。このパラメーターが true に設定されている場合、検証は、Application Server を実行しているコンピューターの Local Computer 証明書ストア内の Trusted Root Certification Authorities フォルダーに追加された証明書を使用して実行されます。 データベースに証明書が追加されていない場合、検証は Trusted Root Certification Authorities フォルダーにある証明書を使用して実行され、AllowMixedModeCertificateValidation パラメーターは無視されます。 プロジェクトおよび付属資料をダウンロードしてください: SAML_Example.zip