Skip to main content

認証プロセスの概要

JSON Web Token (JWT) は、ABBYY FlexiCapture 12 Application Server とサードパーティ サービスの間でデータを安全にやり取りするための形式です。JWT を使用して認証を行う場合、識別情報は Application Server に送信されません。認証はサードパーティ サービス側で行われ、その後、ユーザーが信頼できるサービスによって認証済みであることが Application Server に通知されます。

実装

JSONデータを取得する

JSONデータは次のとおりです。
JSON Web Token (JWT) を作成するため、ユーザー証明書を含むJSONデータはBase64でエンコードされます。 次のサンプルは、JWTトークンを作成します:

JWT を Application Server に送信する

JWT を https://<ApplicationServer>/Flexicapture12/Server/jwt への POST リクエストで Application Server に送信します。 テナントを使用している場合は、テナントの識別子を URL に追加します。例: https://<ApplicationServer>/Flexicapture12/Server/jwt?Tenant=MyTenantName
認証には、nameid ノードの値に含まれる JWT の識別子と一致するログインを持つユーザーが Application Server に登録されている必要があります。 Application Server は次のようなレスポンスを返します。
ticket field の値は、認証済みの ABBYY FlexiCapture 12 チケットです。このチケットを使用すると、認証が必要なすべての Application Server インターフェイスを呼び出すことができます。サービスへのアクセスには ABBYY FlexiCapture 認証を使用する必要があります。つまり、https://<ApplicationServer>/flexicapture12/Server/FCAuth/ または https://<ApplicationServer>/flexicapture12/Server/MobileApp/ で始まるアドレスを使用します。

認証済みの ABBYY FlexiCapture 12 チケットを使用する

認証済みの ABBYY FlexiCapture 12 チケットは、Authorization: Bearer ヘッダーを使用してサーバーに渡します。FlexiCaptureTmpPrn という名前の cookie ファイルも使用できますが、サポートされるのは下位互換性のためだけです。 たとえば:

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

Application Server は、ID プロバイダーから受信したデータを検証します。Application Server がこのデータを信頼できるようにするには、カスタム証明書でデータに署名する必要があります。証明書の発行元は、Application Server の信頼された認証局データベースに登録されている必要があります。 証明書を ABBYY FlexiCapture データベースにインポートします。その後、Application Server はその証明書を使用してデータを検証します。詳細については、Single Sign-On を設定する を参照してください。 検証に失敗した場合、Application Server は Web.config ファイルの <appSettings> にある AllowMixedModeCertificateValidation Parameter を参照します。この Parameter が true の場合、Trusted Root Certification Authorities フォルダー内の証明書を使用して検証が行われます。このフォルダーは、Application Server を実行しているコンピューターのローカル コンピューター証明書ストアにあります。 データベースに証明書がない場合、Trusted Root Certification Authorities フォルダー内の証明書を使用して検証が行われます。この場合、AllowMixedModeCertificateValidation Parameter は無視されます。 sample プロジェクトと付属資料は、JWT_Example.zip として提供されています。