## LassoNameIdManagement LassoNameIdManagement — Name Id Management Profile (SAMLv2) |

## Functions

LassoNameIdManagement * | lasso_name_id_management_new ()
LassoNameIdManagement * | lasso_name_id_management_new_from_dump ()
char * | lasso_name_id_management_dump ()
void | lasso_name_id_management_destroy ()
lasso_error_t | lasso_name_id_management_init_request ()
lasso_error_t | lasso_name_id_management_build_request_msg ()
lasso_error_t | lasso_name_id_management_process_request_msg ()
lasso_error_t | lasso_name_id_management_validate_request ()
lasso_error_t | lasso_name_id_management_build_response_msg ()
lasso_error_t | lasso_name_id_management_process_response_msg ()

## Types and Values

struct | LassoNameIdManagement

## Description

## Functions

### lasso_name_id_management_new ()

    LassoNameIdManagement *
    lasso_name_id_management_new (LassoServer *server);

Creates a new LassoNameIdManagement.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

name_id_management | a LassoNameIdManagement |
response_msg | the response message |

#### Returns

0 on success; or a negative value otherwise.

## Types and Values

### struct LassoNameIdManagement

    struct LassoNameIdManagement {
    	LassoProfile parent;
    };