前のトピック: 手順 2: ArcotID PKI 認証次のトピック: パスワード認証


質問と回答認証

質問と回答Q&A)認証メカニズムは、「手順 1: ArcotID PKI のダウンロード」または FYP (Forgot Your Password、パスワードを忘れた場合)認証の際の 2 次認証メカニズムとして使用するか、または独立した認証メカニズムとして使用できます。

この方式では、Q&A の作成段階でユーザが各自で質問と回答一式を設定するか、事前定義済みの質問をユーザに提示するようにアプリケーションを設定できます。 設定可能な質問の最大数、ユーザに出題される質問の数、認証中に回収すべき正しい回答の最小数といったパラメータはすべて、管理コンソールを使用して設定できます。

このセクションでは、Q&A 認証に関する以下のトピックについて説明します。

リクエスト メッセージの準備

Q&A 認証では、以下のリクエスト メッセージを準備する必要があります。

質問の取得

AuthMinder サーバから質問を取得するには、GetQuestionsRequestMessage を使用します。 以下の表に、このメッセージの要素のリストを示します。

要素

必須

説明

clientTxnId

いいえ

呼び出し元アプリケーションが含めることができる一意のトランザクション識別子を指定します。 この識別子は、関連するトランザクションの追跡に役立ちます。

userName

はい

ユーザの一意の識別子。

orgName

いいえ

ユーザが属する組織。

fetchAnswers

はい

回答を取得するかどうかを示すフラグ。

サポートされている値は以下のとおりです。

  • 0: 回答を取得しないことを示します。 AuthMinder サーバに回答を確認させる場合は、このオプションを使用します。
  • 1: 回答を取得する必要があることを示します。
    呼び出し元検証モードを使用して Q&A 認証を実行する場合は、このオプションを有効にする必要があります。 このモードでは、ユーザから回答を収集し、回答を確認した後、その確認結果を AuthMinder サーバに送信できます。

additionalInput/pairs

いいえ

AuthMinder の additionalInput 要素を使用すると、追加情報を指定して AuthMinder の認証機能を拡張したい場合に、追加入力を設定できます。 その場合、名前と値のペアで追加情報を設定する必要があります。

  • name (作成するキー ペアの名前)
  • value (名前に対応する値)

    注: これらの要素は複数追加できます。

事前定義済みの追加入力パラメータの一部を以下に示します。

  • AR_WF_LOCALE_ID
    呼び出し元アプリケーションにメッセージを返す際に AuthMinder で使用するロケールを指定します。
  • AR_WF_CALLER_ID
    トランザクションの追跡に役立ちます。 この情報は、セッション ID またはクライアント トランザクション ID (clientTxnId)を使用して指定できます。

回答の確認

ユーザからの回答を確認するには、VerifyAnswersRequestMessage を使用します。 以下の表に、このメッセージの要素のリストを示します。

要素

必須

説明

clientTxnId

いいえ

呼び出し元アプリケーションが含めることができる一意のトランザクション識別子を指定します。 この識別子は、関連するトランザクションの追跡に役立ちます。

orgName

いいえ

ユーザが属する組織の名前。

qna

はい

以下の情報が含まれます。

  • questionID
    ユーザへの質問の一意の識別子。
  • answer
    ユーザからの回答。
  • verificationStatus
    提供された回答が正しいかどうかを示します。

    注: verificationStatus 要素は、呼び出し元検証が有効な場合にのみ有効です。

tokenType

いいえ

認証が成功した後に、AuthMinder サーバから受け取る認証トークンのタイプ。 詳細については、「認証トークンの検証」を参照してください。

additionalInput/pairs

いいえ

AuthMinder の additionalInput 要素を使用すると、追加情報を指定して AuthMinder の認証機能を拡張したい場合に、追加入力を設定できます。 その場合、名前と値のペアで追加情報を設定する必要があります。

  • name (作成するキー ペアの名前)
  • value (名前に対応する値)

事前定義済みの追加入力パラメータの一部を以下に示します。

  • AR_WF_LOCALE_ID
    呼び出し元アプリケーションにメッセージを返す際に AuthMinder で使用するロケールを指定します。
  • AR_WF_CALLER_ID
    トランザクションの追跡に役立ちます。 この情報は、セッション ID またはクライアント トランザクション ID (clientTxnId)を使用して指定できます。

    注: additionalInput 要素はリクエスト メッセージの最後で使用できます。 これらの要素は複数追加できます。

Web サービスの起動

Q&A 認証の手順の概要を以下に示します。

  1. オプション) SOAP ヘッダまたは GetQuestions 操作の additionalInput 要素に認証および許可の詳細を含めます。 これらの詳細については、「Web サービス セキュリティの管理」の章を参照してください。
  2. GetQuestionsRequestMessage を使用して、入力メッセージを作成します。

    注: 呼び出し元検証モードを有効にする場合は、リクエスト メッセージで fetchAnswers 要素を設定する必要があります。

  3. オプション)プラグインを実装する場合は、additionalInput 要素タイプを呼び出して追加入力を指定します。
  4. ArcotWebFortAuthSvc サービスの GetQuestions 操作を呼び出して、AuthMinder サーバからユーザの質問と回答を取得します。

    この操作では、出題される質問、各質問の回答、トランザクション ID、メッセージ、レスポンス コード、および理由コードを含む GetQuestionsResponseMessage が返されます。

  5. オプション) SOAP ヘッダまたは VerifyAnswers 操作の additionalInput 要素に認証および許可の詳細を含めます。 これらの詳細については、「Web サービス セキュリティの管理」の章を参照してください。
  6. VerifyAnswersRequestMessage を使用して、入力メッセージを作成します。
  7. オプション)プラグインを実装する場合は、additionalInput 要素タイプを呼び出して追加入力を指定します。
  8. ArcotWebFortAuthSvc サービスの VerifyAnswers 操作を呼び出して、ユーザからの回答を確認します。 必要に応じて、tokenType 要素を使用して、認証が成功した後にユーザに返す必要があるトークンのタイプを指定できます。

    この操作では、トランザクションの詳細、認証情報の詳細、およびトークン情報を格納した VerifyAnswersResponseMessage が返されます。

レスポンス メッセージの解釈

Q&A 認証の一部として返されるレスポンス メッセージを以下に示します。

質問取得レスポンス メッセージ

成功したトランザクションでは、GetQuestionsResponseMessage レスポンス メッセージに、以下の表で説明されている要素が返されます。 これらの要素は SOAP本文に含まれます。 エラーがある場合、エラー レスポンスは SOAP 本文に含まれます。 SOAP エラー メッセージの詳細については、付録「エラー コード」を参照してください。

要素

説明

qna

以下の質問と回答の詳細が含まれています。

  • questionID
    ユーザへの質問の一意の識別子。
  • question
    ユーザに尋ねる必要がある質問。
  • answer
    質問に対応する回答。

transactionDetails

以下のトランザクションの詳細が含まれます。

  • message
    操作のステータスを定義する文字列。
  • reasoncode
    操作の失敗時に AuthMinder サーバが送信する一意のコード。
  • responseCode
    操作の失敗時に AuthMinder サーバが送信する一意のコード。
  • transactionID
    トランザクションの一意の識別子。
  • additionalOutput
    AuthMinder サーバに渡された additionalInput に対する出力。

回答確認レスポンス メッセージ

成功したトランザクションでは、VerifyAnswersResponseMessage レスポンス メッセージに、説明されている要素が返されます。 これらの要素は SOAP本文に含まれます。 エラーがある場合、エラー レスポンスは SOAP 本文に含まれます。 SOAP エラー メッセージの詳細については、「エラー コード」を参照してください。