Sun Java System Access Manager 7 2005Q4 C API Reference

am_auth_callback

Primary callback structure for authentication.

This structure is a C implementation of the Java 2 SDK javax.security.auth.callback interface used to submit authentication requirements to the authentication service on the Access Manager. The Access Manager authentication service framework is based on the Java 2 SDK JAAS API.

Syntax

#include "am_auth.h"
typedef struct am_auth_callback {
    am_auth_callback_type_t callback_type;
        union am_auth_callback_info {
        am_auth_choice_callback_t choice_callback;
        am_auth_confirmation_callback_t    confirmation_callback;
        am_auth_language_callback_t language_callback;
        am_auth_name_callback_t name_callback;
        am_auth_password_callback_t password_callback;
        am_auth_text_input_callback_t text_input_callback;
        am_auth_text_output_callback_t text_output_callback;
    } callback_info;
} am_auth_callback_t;

Members

This structure has the following members:

callback_type.

Indicates which type of callback this represents and determines which callback structure is used in the callback_info union below.

The value is one of the following.

  • ChoiceCallback.

  • ConfirmationCallback.

  • LanguageCallback.

  • NameCallback.

  • TextInputCallback.

  • TextOutputCallback.

    Each callback type corresponds to the callback class of the same name in the Java 2 SDK javax.security.auth.callback package.

callback_info

The union of possible callback structures. The structure in the union to use depends on the callback_type field. Each structure corresponds to the callback class of the same name in the Java 2 SDK javax.security.auth.callback package and, has a response field to submit callback requirements.

Note that memory for all members in the callback structures except the response field is allocated by the C SDK in the am_auth_login() call, and is freed by the C SDK when the auth context is destroyed using am_auth_destroy_auth_context() . Memory for the response field must be allocated and freed by the caller.

Each callback structure is described in this chapter in detail.