LassoNameIdManagement

LassoNameIdManagement — Name Id Management Profile (SAMLv2)

Synopsis

                    LassoNameIdManagement;
LassoNameIdManagement * lasso_name_id_management_new    (LassoServer *server);
LassoNameIdManagement * lasso_name_id_management_new_from_dump
                                                        (LassoServer *server,
                                                         const char *dump);
char*               lasso_name_id_management_dump       (LassoNameIdManagement *name_id_management);
void                lasso_name_id_management_destroy    (LassoNameIdManagement *name_id_management);
lasso_error_t       lasso_name_id_management_init_request
                                                        (LassoNameIdManagement *name_id_management,
                                                         char *remote_provider_id,
                                                         char *new_name_id,
                                                         LassoHttpMethod http_method);
lasso_error_t       lasso_name_id_management_build_request_msg
                                                        (LassoNameIdManagement *name_id_management);
lasso_error_t       lasso_name_id_management_process_request_msg
                                                        (LassoNameIdManagement *name_id_management,
                                                         gchar *request_msg);
lasso_error_t       lasso_name_id_management_validate_request
                                                        (LassoNameIdManagement *name_id_management);
lasso_error_t       lasso_name_id_management_build_response_msg
                                                        (LassoNameIdManagement *name_id_management);
lasso_error_t       lasso_name_id_management_process_response_msg
                                                        (LassoNameIdManagement *name_id_management,
                                                         gchar *response_msg);

Description

Details

LassoNameIdManagement

typedef struct {
	LassoProfile parent;
} LassoNameIdManagement;

lasso_name_id_management_new ()

LassoNameIdManagement * lasso_name_id_management_new    (LassoServer *server);

Creates a new LassoNameIdManagement.

server :

the LassoServer

Returns :

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

lasso_name_id_management_new_from_dump ()

LassoNameIdManagement * lasso_name_id_management_new_from_dump
                                                        (LassoServer *server,
                                                         const char *dump);

Restores the dump to a new LassoLogout.

server :

the LassoServer

dump :

XML name_id_management dump

Returns :

a newly created LassoLogout; or NULL if an error occured

lasso_name_id_management_dump ()

char*               lasso_name_id_management_dump       (LassoNameIdManagement *name_id_management);

Dumps name_id_management content to an XML string.

name_id_management :

a LassoLogout

Returns :

the dump string. It must be freed by the caller.. transfer full.

lasso_name_id_management_destroy ()

void                lasso_name_id_management_destroy    (LassoNameIdManagement *name_id_management);

Destroys a LassoNameIdManagement object.

name_id_management :

a LassoNameIdManagement

lasso_name_id_management_init_request ()

lasso_error_t       lasso_name_id_management_init_request
                                                        (LassoNameIdManagement *name_id_management,
                                                         char *remote_provider_id,
                                                         char *new_name_id,
                                                         LassoHttpMethod http_method);

Initializes a new Name Id Management Request. If new_name_id is NULL, it is a Termination request, if not and we are an IdP is a NameID change request, if we are a SP, it is a request to add a SP provided Id to the NameID of the IdP. It can be useful if the SP do not want to store the federation, instead he can export its own identifiers to the IdP.

name_id_management :

a LassoNameIdManagement

remote_provider_id :

the providerID of the remote provider.

new_name_id :

the new NameId or NULL to terminate a federation

http_method :

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

Returns :

0 on success; or a negative value otherwise.

lasso_name_id_management_build_request_msg ()

lasso_error_t       lasso_name_id_management_build_request_msg
                                                        (LassoNameIdManagement *name_id_management);

Builds the Name Id Management request message.

name_id_management :

a LassoNameIdManagement

Returns :

0 on success; or a negative value otherwise.

lasso_name_id_management_process_request_msg ()

lasso_error_t       lasso_name_id_management_process_request_msg
                                                        (LassoNameIdManagement *name_id_management,
                                                         gchar *request_msg);

Processes a Name Id Management request message. Rebuilds a request object from the message and check its signature.

name_id_management :

a LassoNameIdManagement

request_msg :

the Name Id Management request message

Returns :

0 on success; or a negative value otherwise.

lasso_name_id_management_validate_request ()

lasso_error_t       lasso_name_id_management_validate_request
                                                        (LassoNameIdManagement *name_id_management);

Processes a Name Id Management request, performing requested actions against principal federations. Profile identity may have to be saved afterwards.

name_id_management :

a LassoNameIdManagement

Returns :

0 on success; or a negative value otherwise.

lasso_name_id_management_build_response_msg ()

lasso_error_t       lasso_name_id_management_build_response_msg
                                                        (LassoNameIdManagement *name_id_management);

Builds the Name Id Management response message.

name_id_management :

a LassoNameIdManagement

Returns :

0 on success; or a negative value otherwise.

lasso_name_id_management_process_response_msg ()

lasso_error_t       lasso_name_id_management_process_response_msg
                                                        (LassoNameIdManagement *name_id_management,
                                                         gchar *response_msg);

Parses the response message and builds the corresponding response object. Performs requested actions against principal federations. Profile identity may have to be saved afterwards.

name_id_management :

a LassoNameIdManagement

response_msg :

the response message

Returns :

0 on success; or a negative value otherwise.