Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LassoLecp: Lasso Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Lasso Reference Manual">
<link rel="up" href="idff.html" title="Identity Federation Framework - ID-FF 1.2 profiles">
<link rel="prev" href="lasso-LassoNameIdentifierMapping.html" title="LassoNameIdentifierMapping">
<link rel="next" href="xml-idff.html" title="Objects from ID-FF 1.2 schemas">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#lasso-LassoLecp.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="idff.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="lasso-LassoNameIdentifierMapping.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xml-idff.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="lasso-LassoLecp"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="lasso-LassoLecp.top_of_page"></a>LassoLecp</span></h2>
<p>LassoLecp — Liberty Enabled Client and Proxy Profile (ID-FF)</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="lasso-LassoLecp.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="returnvalue">LassoLecp</span></a> *
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-new" title="lasso_lecp_new ()">lasso_lecp_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">lasso_error_t</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-build-authn-request-envelope-msg" title="lasso_lecp_build_authn_request_envelope_msg ()">lasso_lecp_build_authn_request_envelope_msg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">lasso_error_t</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-build-authn-request-msg" title="lasso_lecp_build_authn_request_msg ()">lasso_lecp_build_authn_request_msg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">lasso_error_t</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-build-authn-response-msg" title="lasso_lecp_build_authn_response_msg ()">lasso_lecp_build_authn_response_msg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">lasso_error_t</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-build-authn-response-envelope-msg" title="lasso_lecp_build_authn_response_envelope_msg ()">lasso_lecp_build_authn_response_envelope_msg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-destroy" title="lasso_lecp_destroy ()">lasso_lecp_destroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">lasso_error_t</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-init-authn-request" title="lasso_lecp_init_authn_request ()">lasso_lecp_init_authn_request</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">lasso_error_t</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-process-authn-request-msg" title="lasso_lecp_process_authn_request_msg ()">lasso_lecp_process_authn_request_msg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">lasso_error_t</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-process-authn-request-envelope-msg" title="lasso_lecp_process_authn_request_envelope_msg ()">lasso_lecp_process_authn_request_envelope_msg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">lasso_error_t</span>
</td>
<td class="function_name">
<a class="link" href="lasso-LassoLecp.html#lasso-lecp-process-authn-response-envelope-msg" title="lasso_lecp_process_authn_response_envelope_msg ()">lasso_lecp_process_authn_response_envelope_msg</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="lasso-LassoLecp.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp">LassoLecp</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="lasso-LassoLecp.description"></a><h2>Description</h2>
</div>
<div class="refsect1">
<a name="lasso-LassoLecp.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="lasso-lecp-new"></a><h3>lasso_lecp_new ()</h3>
<pre class="programlisting"><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="returnvalue">LassoLecp</span></a> *
lasso_lecp_new (<em class="parameter"><code><a class="link" href="lasso-LassoServer.html#LassoServer" title="struct LassoServer"><span class="type">LassoServer</span></a> *server</code></em>);</pre>
<p>Creates a new <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a>.</p>
<div class="refsect3">
<a name="lasso-lecp-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>server</p></td>
<td class="parameter_description"><p>the <a class="link" href="lasso-LassoServer.html#LassoServer" title="struct LassoServer"><span class="type">LassoServer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-new.returns"></a><h4>Returns</h4>
<p> a newly created <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> object; or NULL if an error
occured</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-build-authn-request-envelope-msg"></a><h3>lasso_lecp_build_authn_request_envelope_msg ()</h3>
<pre class="programlisting"><span class="returnvalue">lasso_error_t</span>
lasso_lecp_build_authn_request_envelope_msg
                               (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>);</pre>
<p>Builds an enveloped authentication request message.  Sets <em class="parameter"><code>msg_body</code></em>
 to that
message.</p>
<div class="refsect3">
<a name="lasso-lecp-build-authn-request-envelope-msg.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-build-authn-request-envelope-msg.returns"></a><h4>Returns</h4>
<p> 0 on success; or a negative value otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-build-authn-request-msg"></a><h3>lasso_lecp_build_authn_request_msg ()</h3>
<pre class="programlisting"><span class="returnvalue">lasso_error_t</span>
lasso_lecp_build_authn_request_msg (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>);</pre>
<p>Builds an authentication request. The data for the sending of the request are
stored in <em class="parameter"><code>msg_url</code></em>
 and <em class="parameter"><code>msg_body</code></em>
 (SOAP POST).</p>
<div class="refsect3">
<a name="lasso-lecp-build-authn-request-msg.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-build-authn-request-msg.returns"></a><h4>Returns</h4>
<p> 0 on success; or a negative value otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-build-authn-response-msg"></a><h3>lasso_lecp_build_authn_response_msg ()</h3>
<pre class="programlisting"><span class="returnvalue">lasso_error_t</span>
lasso_lecp_build_authn_response_msg (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>);</pre>
<p>Builds the lecp authentication response message (base64).  Sets <em class="parameter"><code>msg_body</code></em>
 to
that message.</p>
<div class="refsect3">
<a name="lasso-lecp-build-authn-response-msg.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-build-authn-response-msg.returns"></a><h4>Returns</h4>
<p> 0 on success; or a negative value otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-build-authn-response-envelope-msg"></a><h3>lasso_lecp_build_authn_response_envelope_msg ()</h3>
<pre class="programlisting"><span class="returnvalue">lasso_error_t</span>
lasso_lecp_build_authn_response_envelope_msg
                               (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>);</pre>
<p>Builds the enveloped LECP authentication response message (SOAP message).
Sets <em class="parameter"><code>msg_body</code></em>
 to that message.</p>
<div class="refsect3">
<a name="lasso-lecp-build-authn-response-envelope-msg.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-build-authn-response-envelope-msg.returns"></a><h4>Returns</h4>
<p> 0 on success; or a negative value otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-destroy"></a><h3>lasso_lecp_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
lasso_lecp_destroy (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>);</pre>
<p>Destroys a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> object</p>
<div class="refsect3">
<a name="lasso-lecp-destroy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-init-authn-request"></a><h3>lasso_lecp_init_authn_request ()</h3>
<pre class="programlisting"><span class="returnvalue">lasso_error_t</span>
lasso_lecp_init_authn_request (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *remote_providerID</code></em>);</pre>
<p>Initializes a new lib:AuthnRequest.</p>
<div class="refsect3">
<a name="lasso-lecp-init-authn-request.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_providerID</p></td>
<td class="parameter_description"><p>the providerID of the identity provider. When NULL, the
first known identity provider is used.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-init-authn-request.returns"></a><h4>Returns</h4>
<p> 0 on success; or a negative value otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-process-authn-request-msg"></a><h3>lasso_lecp_process_authn_request_msg ()</h3>
<pre class="programlisting"><span class="returnvalue">lasso_error_t</span>
lasso_lecp_process_authn_request_msg (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>,
                                      <em class="parameter"><code>const <span class="type">char</span> *authn_request_msg</code></em>);</pre>
<p>Processes received authentication request, checks it is signed correctly,
checks if requested protocol profile is supported, etc.</p>
<div class="refsect3">
<a name="lasso-lecp-process-authn-request-msg.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>authn_request_msg</p></td>
<td class="parameter_description"><p>the authentication request received</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-process-authn-request-msg.returns"></a><h4>Returns</h4>
<p> 0 on success; or a negative value otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-process-authn-request-envelope-msg"></a><h3>lasso_lecp_process_authn_request_envelope_msg ()</h3>
<pre class="programlisting"><span class="returnvalue">lasso_error_t</span>
lasso_lecp_process_authn_request_envelope_msg
                               (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *request_msg</code></em>);</pre>
<p>Processes received enveloped authentication request, extracts the
authentication request out of it.</p>
<div class="refsect3">
<a name="lasso-lecp-process-authn-request-envelope-msg.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>request_msg</p></td>
<td class="parameter_description"><p>the enveloped authentication request received</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-process-authn-request-envelope-msg.returns"></a><h4>Returns</h4>
<p> 0 on success; or a negative value otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lasso-lecp-process-authn-response-envelope-msg"></a><h3>lasso_lecp_process_authn_response_envelope_msg ()</h3>
<pre class="programlisting"><span class="returnvalue">lasso_error_t</span>
lasso_lecp_process_authn_response_envelope_msg
                               (<em class="parameter"><code><a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a> *lecp</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *response_msg</code></em>);</pre>
<p>Processes received enveloped authentication response, extracts the
authentication response out of it and stores it in <em class="parameter"><code>response</code></em>
.</p>
<div class="refsect3">
<a name="lasso-lecp-process-authn-response-envelope-msg.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>lecp</p></td>
<td class="parameter_description"><p>a <a class="link" href="lasso-LassoLecp.html#LassoLecp" title="struct LassoLecp"><span class="type">LassoLecp</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>response_msg</p></td>
<td class="parameter_description"><p>the enveloped authentication response received</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="lasso-lecp-process-authn-response-envelope-msg.returns"></a><h4>Returns</h4>
<p> 0 on success; or a negative value otherwise.</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="lasso-LassoLecp.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="LassoLecp"></a><h3>struct LassoLecp</h3>
<pre class="programlisting">struct LassoLecp {
	LassoLogin parent;

	LassoLibAuthnRequestEnvelope *authnRequestEnvelope;
	LassoLibAuthnResponseEnvelope *authnResponseEnvelope;
	char *assertionConsumerServiceURL;
};
</pre>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>