インターフェース ServerAuth

  • すべての既知のサブインターフェース:
    ServerAuthContextServerAuthModule

    public interface ServerAuth
    このインターフェースの実装は、受信したサービスリクエストメッセージを検証し、サービスレスポンスメッセージを保護するために使用されます。
    関連事項:
    MessageInfo, SubjectSE
    • メソッドの詳細

      • validateRequest

        AuthStatus validateRequest​(MessageInfo messageInfo,
                                   SubjectSE clientSubject,
                                   SubjectSE serviceSubject)
                            throws AuthException
        受信したサービスリクエストを認証します。

        このメソッドは、getRequestMessage (messageInfo 上) を呼び出すことによって取得されたメカニズム固有のリクエストメッセージを、メッセージ処理ランタイムに返される検証済みのアプリケーションメッセージに変換するために呼び出されます。受信したメッセージが (メカニズム固有の) メタメッセージである場合、メソッド実装は、メタメッセージを対応するメカニズム固有のレスポンスメッセージ、または検証済みのアプリケーションリクエストメッセージに変換しようとする必要があります。ランタイムは、検証済みのアプリケーションメッセージを対応するサービス呼び出しにバインドします。

        このメソッドは、AuthStatus 値を返すか、AuthException をスローすることにより、メッセージ処理の結果を伝えます。

        パラメーター:
        messageInfo - クライアントリクエストオブジェクトとサーバーレスポンスオブジェクトをカプセル化し、安全なメッセージ交換を完了するためにこのインターフェースのメソッドに対して行われた一連の呼び出し全体で状態を保存するために使用されるコンテキストオブジェクト。
        clientSubject - サービスリクエストのソースを表すサブジェクト。これは、リクエストで検証されたプリンシパルと資格情報を格納するためにメソッド実装によって使用されます。
        serviceSubject - サービスリクエストの受信者を表すサブジェクト、または null。これは、リクエストの検証に使用されるプリンシパルまたは資格情報のソースとして、メソッド実装によって使用される場合があります。サブジェクトが null でない場合、メソッドの実装により、追加のプリンシパルまたは資格情報(サービスリクエストの受信者に関連する)がサブジェクトに追加される場合があります。
        戻り値:
        メソッドによって実行された処理の完了ステータスを表す AuthStatus オブジェクト。このメソッドによって返される可能性がある AuthStatus 値は、次のように定義されます。
        • アプリケーションリクエストメッセージが正常に検証された場合、AuthStatus.SUCCESS が返されます。検証されたリクエストメッセージは、messageInfo で getRequestMessage を呼び出すことによって取得できます。
        • AuthStatus.SEND_SUCCESS は、リクエストメッセージの検証 / 処理によって、保護されたアプリケーションレスポンスメッセージ (messageInfo 内) が正常に生成されたことを示します。保護されたレスポンスメッセージは、messageInfo で getResponseMessage を呼び出すことによって入手できます。
        • AuthStatus.SEND_CONTINUE は、メッセージの検証が不完全であり、messageInfo のレスポンスメッセージとして予備レスポンスが返されたことを示します。このステータス値がアプリケーションリクエストメッセージのチャレンジに返された場合、チャレンジされたリクエストは認証モジュールによって保存され、チャレンジに対して返されたリクエストを処理するためにモジュールの validateRequest メッセージが呼び出されたときに回復できるようにする必要があります。
        • AuthStatus.SEND_FAILURE は、メッセージの検証が失敗し、messageInfo で getResponseMessage を呼び出すことによって適切な失敗レスポンスメッセージが利用できることを示します。
        例外:
        AuthException - 失敗レスポンスメッセージを確立せずにメッセージ処理が失敗した場合 (messageInfo の場合)。
      • secureResponse

        default AuthStatus secureResponse​(MessageInfo messageInfo,
                                          SubjectSE serviceSubject)
                                   throws AuthException
        サービスレスポンスをクライアントに送信する前に保護します。このメソッドは、getResponseMessage (messageInfo 上) を呼び出すことによって取得されたレスポンスメッセージを、ランタイムによって送信されるメカニズム固有の形式に変換するために呼び出されます。

        このメソッドは、AuthStatus 値を返すか、AuthException をスローすることにより、メッセージ処理の結果を伝えます。

        パラメーター:
        messageInfo - クライアントリクエストオブジェクトとサーバーレスポンスオブジェクトをカプセル化し、安全なメッセージ交換を完了するためにこのインターフェースのメソッドに対して行われた一連の呼び出し全体で状態を保存するために使用されるコンテキストオブジェクト。
        serviceSubject - サービスレスポンスのソースを表すサブジェクト、または null。メソッドの実装で使用して、レスポンスを保護するために必要なプリンシパルと資格情報を取得できます。サブジェクトが null でない場合、メソッドの実装により、追加のプリンシパルまたは資格情報(サービスレスポンスのソースに関連する)がサブジェクトに追加される場合があります。
        戻り値:
        メソッドによって実行された処理の完了ステータスを表す AuthStatus オブジェクト。このメソッドによって返される可能性がある AuthStatus 値は、次のように定義されます。
        • アプリケーションレスポンスメッセージが正常に保護された場合、AuthStatus.SEND_SUCCESS が返されます。保護されたレスポンスメッセージは、messageInfo で getResponseMessage を呼び出すことによって取得できます。
        • AuthStatus.SEND_CONTINUE は、アプリケーションレスポンスメッセージ (messageInfo 内) が、セキュリティ固有のレスポンス (リクエストの形式) をピアから引き出すセキュリティメッセージに置き換えられたことを示します。このステータス値は、呼び出し元のランタイムに、(メッセージ交換を正常に完了するには) 少なくとも 1 つの追加のリクエスト / レスポンス交換 (messageInfo で返されたレスポンスメッセージを送信した後) を処理することによってメッセージダイアログを続行できる必要があることを通知するために使用されます。このステータス値が返された場合、認証モジュールはアプリケーションレスポンスを保存して、モジュールの validateRequest メッセージが呼び出されて引き出されたレスポンスを処理するときに回復できるようにする必要があります。
        • AuthStatus.SEND_FAILURE は、レスポンスメッセージの保護中に障害が発生したこと、および messageInfo で getResponseMeessage を呼び出すことによって適切な障害レスポンスメッセージが利用できることを示します。
        例外:
        AuthException - 失敗レスポンスメッセージを確立せずにメッセージ処理が失敗した場合 (messageInfo の場合)。
      • cleanSubject

        default void cleanSubject​(MessageInfo messageInfo,
                                  SubjectSE subject)
                           throws AuthException
        サブジェクトからメソッド固有のプリンシパルと資格を削除します。
        パラメーター:
        messageInfo - クライアントリクエストオブジェクトとサーバーレスポンスオブジェクトをカプセル化するコンテキストオブジェクトであり、安全なメッセージ交換を完了するために、このインターフェースのメソッドに対して行われた一連の呼び出し全体で状態を保存するために使用できます。
        subject - プリンシパルと資格情報が削除されるサブジェクトインスタンス。
        例外:
        AuthException - サブジェクト処理中にエラーが発生した場合。