Adds a listener for any and all event changes related to the referenced single sign-on token handle.
am_sso_add_sso_token_listener() is removed from memory after it is called once, differentiating its functionality from am_sso_add_listener().
The caller must do one of the following:
Provide a URL to this function.
Enable notification and provider a valid notification URL in the AMAgent.properties file passed to am_sso_init().
See Listening and Notification for more information.
#include "am_sso.h" AM_EXPORT am_status_t am_sso_add_sso_token_listener(am_sso_token_handle_t sso_token_handle, const am_sso_token_listener_func_t listener, void *args, boolean_t dispatch_to_sep_thread);
This function takes the following parameters:
Pointer to the session information object containing the session token to which the listener corresponds. The handle will be filled with the session information from the notification message, overwriting any existing contents.
The session token is a randomly-generated string that represents an authenticated user.
The listener as described in am_sso_token_listener_func_t.
When the listener is called, updated session information from Access Manager is passed in a temporary sso_token_handle.
Arguments to pass to the listener.
Takes one of the values based on the boolean_t (defined in the <am_types.h> header file) that indicates whether the listener function should be called in the calling thread or dispatched to a thread from the internal thread pool managed by the C SDK.
Calling the listener in a thread from an internal thread pool allows am_notify() to return immediately upon parsing the notification message rather than waiting for the listener functions to finish before returning.
This function returns one of the following values of the am_status_t enumeration (defined in the <am_types.h> header file):
If the listener was successfully added.
If sso_token_handle or listener is invalid, or the notification URL is not set and none is provided in the properties file.
If notification is not enabled and the notification URL parameter is invalid.
If any other error occurred.