LassoLibNameIdentifierMappingRequest

## LassoLibNameIdentifierMappingRequest LassoLibNameIdentifierMappingRequest — <lib:NameIdentifierMappingRequest> |

## Synopsis

    struct              LassoLibNameIdentifierMappingRequest;
    LassoNode *         lasso_lib_name_identifier_mapping_request_new
                                                            (void);
    LassoNode *         lasso_lib_name_identifier_mapping_request_new_full
                                                            (char *providerID,
                                                             LassoSamlNameIdentifier *nameIdentifier,
                                                             const char *targetNamespace,
                                                             LassoSignatureType sign_type,
                                                             LassoSignatureMethod sign_method);

## Description

Figure 13. Schema fragment for lib:NameIdentifierMappingRequest

    <xs:element name="NameIdentifierMappingRequest" type="NameIdentifierMappingRequestType"/>
    <xs:complexType name="NameIdentifierMappingRequestType">
      <xs:complexContent>
        <xs:extension base="samlp:RequestAbstractType">
          <xs:sequence>
            <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="ProviderID"/>
            <xs:element ref="saml:NameIdentifier"/>
            <xs:element name="TargetNamespace" type="md:entityIDType"/>
          </xs:sequence>
          <xs:attribute ref="consent" use="optional"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

    <xs:element name="ProviderID" type="md:entityIDType"/>

## Details

### struct LassoLibNameIdentifierMappingRequest

    struct LassoLibNameIdentifierMappingRequest {
    	LassoSamlpRequestAbstract parent;

    	/* <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/> */
    	GList *Extension; /* of xmlNode* */
    	/* <xs:element ref="ProviderID"/> */
    	char *ProviderID;
    	/* <xs:element ref="saml:NameIdentifier"/> */
    	LassoSamlNameIdentifier *NameIdentifier;
    	/* <xs:element name="TargetNamespace" type="md:entityIDType"/> */
    	char *TargetNamespace;
    	/* <xs:attribute ref="consent" use="optional"/> */
    	char *consent;
    };

### lasso_lib_name_identifier_mapping_request_new ()

    LassoNode *         lasso_lib_name_identifier_mapping_request_new
                                                            (void);

Creates a new LassoLibNameIdentifierMappingRequest object.

Returns : | a newly created LassoLibNameIdentifierMappingRequest object

### lasso_lib_name_identifier_mapping_request_new_full ()

    LassoNode *         lasso_lib_name_identifier_mapping_request_new_full
                                                            (char *providerID,
                                                             LassoSamlNameIdentifier *nameIdentifier,
                                                             const char *targetNamespace,
                                                             LassoSignatureType sign_type,
                                                             LassoSignatureMethod sign_method);

Creates a new LassoLibNameIdentifierMappingRequest object and initializes it with the parameters. It also setups the signature on the request object, you must preceise the signing key later.

`providerID` : | the provider ID requesting the name identifier mapping
`nameIdentifier` : | a LassoSamlNameIdentifier object
`targetNamespace` : | an URI for the target namespace
`sign_type` : | a LassoSignatureType value
`sign_method` : | a LassoSignatureMethod value
Returns : | a newly created LassoLibNameIdentifierMappingRequest object