認証プロセスの概要
JSON Web Token (JWT) は、ABBYY FlexiCapture 12 Application Server とサードパーティ サービスの間でデータを安全にやり取りするための形式です。JWT を使用して認証を行う場合、識別情報は Application Server に送信されません。認証はサードパーティ サービス側で行われ、その後、ユーザーが信頼できるサービスによって認証済みであることが Application Server に通知されます。実装
JSONデータを取得する
JSONデータは次のとおりです。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 として提供されています。