LassoAssertionQuery

LassoAssertionQuery

Synopsis

enum                LassoAssertionQueryRequestType;
                    LassoAssertionQuery;
LassoAssertionQuery * lasso_assertion_query_new         (LassoServer *server);
void                lasso_assertion_query_destroy       (LassoAssertionQuery *assertion_query);
gint                lasso_assertion_query_init_request  (LassoAssertionQuery *assertion_query,
                                                         char *remote_provider_id,
                                                         LassoHttpMethod http_method,
                                                         LassoAssertionQueryRequestType query_request_type);
gint                lasso_assertion_query_validate_request
                                                        (LassoAssertionQuery *assertion_query);
gint                lasso_assertion_query_build_request_msg
                                                        (LassoAssertionQuery *assertion_query);
gint                lasso_assertion_query_process_request_msg
                                                        (LassoAssertionQuery *assertion_query,
                                                         gchar *request_msg);
int                 lasso_assertion_query_build_response_msg
                                                        (LassoAssertionQuery *assertion_query);
gint                lasso_assertion_query_process_response_msg
                                                        (LassoAssertionQuery *assertion_query,
                                                         gchar *response_msg);

Description

Details

enum LassoAssertionQueryRequestType

typedef enum {
	LASSO_ASSERTION_QUERY_REQUEST_TYPE_UNSET = 0,
	LASSO_ASSERTION_QUERY_REQUEST_TYPE_ASSERTION_ID,
	LASSO_ASSERTION_QUERY_REQUEST_TYPE_AUTHN,
	LASSO_ASSERTION_QUERY_REQUEST_TYPE_ATTRIBUTE,
	LASSO_ASSERTION_QUERY_REQUEST_TYPE_AUTHZ_DECISION,
} LassoAssertionQueryRequestType;

Enumerate the existing kind of AssertionQuery requests.

LASSO_ASSERTION_QUERY_REQUEST_TYPE_UNSET

the unknown value

LASSO_ASSERTION_QUERY_REQUEST_TYPE_ASSERTION_ID

an AssertionID request, to retrieve an assertion by its ID.

LASSO_ASSERTION_QUERY_REQUEST_TYPE_AUTHN

an AuthnQuery request, which is used to request existing authentication assertions about a given subject from an Authentication Authority

LASSO_ASSERTION_QUERY_REQUEST_TYPE_ATTRIBUTE

an AttributeQuery, which is used to retrieve attribute an a principal.

LASSO_ASSERTION_QUERY_REQUEST_TYPE_AUTHZ_DECISION

an AuthzDecisionQuery, which is used to request authorisation to let a principal access a certain resource.

LassoAssertionQuery

typedef struct {
	LassoProfile parent;
} LassoAssertionQuery;

lasso_assertion_query_new ()

LassoAssertionQuery * lasso_assertion_query_new         (LassoServer *server);

Creates a new LassoAssertionQuery.

server :

the LassoServer

Returns :

a newly created LassoAssertionQuery object; or NULL if an error occured

lasso_assertion_query_destroy ()

void                lasso_assertion_query_destroy       (LassoAssertionQuery *assertion_query);

Destroys a LassoAssertionQuery object.

assertion_query :

a LassoAssertionQuery

lasso_assertion_query_init_request ()

gint                lasso_assertion_query_init_request  (LassoAssertionQuery *assertion_query,
                                                         char *remote_provider_id,
                                                         LassoHttpMethod http_method,
                                                         LassoAssertionQueryRequestType query_request_type);

Initializes a new Assertion Query Request.

assertion_query :

a LassoAssertionQuery

remote_provider_id :

the providerID of the remote provider.

http_method :

if set, then it get the protocol profile in metadata corresponding of this HTTP request method.

query_request_type :

the type of request.

Returns :

0 on success; or a negative value otherwise.

lasso_assertion_query_validate_request ()

gint                lasso_assertion_query_validate_request
                                                        (LassoAssertionQuery *assertion_query);

Processes a Assertion query or request; caller must add assertions to the response afterwards.

assertion_query :

a LassoAssertionQuery

Returns :

0 on success; or a negative value otherwise.

lasso_assertion_query_build_request_msg ()

gint                lasso_assertion_query_build_request_msg
                                                        (LassoAssertionQuery *assertion_query);

Build an Assertion Query profile request message.

assertion_query :

a LassoAssertionQuery

Returns :

0 on success; or a negative value otherwise.

lasso_assertion_query_process_request_msg ()

gint                lasso_assertion_query_process_request_msg
                                                        (LassoAssertionQuery *assertion_query,
                                                         gchar *request_msg);

Processes a Assertion query or request message. Rebuilds a request object from the message and check its signature.

assertion_query :

a LassoAssertionQuery

request_msg :

the Assertion query or request message

Returns :

0 on success; or a negative value otherwise.

lasso_assertion_query_build_response_msg ()

int                 lasso_assertion_query_build_response_msg
                                                        (LassoAssertionQuery *assertion_query);

Builds the Response message.

assertion_query :

a LassoAssertionQuery

Returns :

0 on success; or a negative value otherwise.

lasso_assertion_query_process_response_msg ()

gint                lasso_assertion_query_process_response_msg
                                                        (LassoAssertionQuery *assertion_query,
                                                         gchar *response_msg);

Parses the response message and builds the corresponding response object.

assertion_query :

a LassoAssertionQuery

response_msg :

the response message

Returns :

0 on success; or a negative value otherwise.