Typedefs | |
typedef int(* | xacml_obligation_handler_t )(void *handler_arg, const xacml_response_t response, const char *obligation_id, xacml_effect_t fulfill_on, const char *attribute_ids[], const char *datatypes[], const char *values[]) |
Functions | |
xacml_result_t | xacml_request_add_obligation_handler (xacml_request_t request, xacml_obligation_handler_t handler, void *handler_arg, const char *obligation_id) |
xacml_result_t | xacml_query (const char *endpoint, xacml_request_t request, xacml_response_t response) |
typedef int(* xacml_obligation_handler_t)(void *handler_arg, const xacml_response_t response, const char *obligation_id, xacml_effect_t fulfill_on, const char *attribute_ids[], const char *datatypes[], const char *values[]) |
Obligation Handler Callback
handler_arg | Application-specification handler argument. | |
response | Server response value. | |
obligation_id | Name of the obligation contained in the response | |
fulfill_on | Effect indicating when the obligation applies. | |
attribute_ids | XACML attribute names associated with the obligation values | |
datatypes | XACML attribute datatypes associated with the obligation values | |
values | String representation of the obligation values |
xacml_result_t xacml_query | ( | const char * | endpoint, | |
xacml_request_t | request, | |||
xacml_response_t | response | |||
) |
Perform an XACML authorization query
Contact an XACML server processing requests at the named endpoint and present an authorization query. After the server responds, obligation handlers registered with xacml_request_add_obligation_handler() will be invoked. Any failure returned from the obligation handlers will cause this function to return an error value.
endpoint | Endpoint of the authorization service to contact. | |
request | Request handle containing the authorization request information. | |
response | Initialized response handle which will be populated with the status values from the authorization service. |
XACML_RESULT_SUCCESS | Success. | |
XACML_RESULT_INVALID_PARAMETER | Invalid parameter. | |
XACML_RESULT_OBLIGATION_FAILED | Failed obligation processing. |
References XACML_RESULT_INVALID_PARAMETER, XACML_RESULT_OBLIGATION_FAILED, XACML_RESULT_SOAP_ERROR, and XACML_RESULT_SUCCESS.
xacml_result_t xacml_request_add_obligation_handler | ( | xacml_request_t | request, | |
xacml_obligation_handler_t | handler, | |||
void * | handler_arg, | |||
const char * | obligation_id | |||
) |
Add an obligation handler to an XACML request handle
Creates a new obligation handler for the Obligation named obligation_id. When an XACML response is sent that includes such an obligation, this function will be invoked. See xacml_obligation_handler_t for a description of the parameters to the handler.
request | Client request to add the obligation handler to. | |
handler | Callback function to invoke when an obligation matching obligation_id is encountered while processing an XACML response. | |
handler_arg | Application-specific parameter to handler. | |
obligation_id | If this is NULL, then this handler will be invoked as a default obligation handler when no other obligation handler matches the obligation_id name. |
XACML_RESULT_SUCCESS | XACML handler successfully registered with the request. | |
XACML_RESULT_INVALID_PARAMETER | Invalid parameter. |
References XACML_RESULT_INVALID_PARAMETER, and XACML_RESULT_SUCCESS.