3
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4
<title>LassoProfile</title>
5
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
6
<link rel="start" href="index.html" title="Lasso Reference Manual">
7
<link rel="up" href="idff.html" title="Identity Federation Framework">
8
<link rel="prev" href="idff.html" title="Identity Federation Framework">
9
<link rel="next" href="LassoLogin.html" title="LassoLogin">
10
<meta name="generator" content="GTK-Doc V1.4 (XML mode)">
11
<link rel="stylesheet" href="style.css" type="text/css">
12
<link rel="chapter" href="lasso.html" title="Lasso & Liberty Alliance Overview">
13
<link rel="chapter" href="architecture.html" title="Lasso Architecture">
14
<link rel="chapter" href="idff.html" title="Identity Federation Framework">
15
<link rel="chapter" href="idwsf.html" title="Identity Web Services Framework">
16
<link rel="chapter" href="xml.html" title="Schemas">
17
<link rel="chapter" href="misc.html" title="Misc">
19
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
20
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
21
<td><a accesskey="p" href="idff.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
22
<td><a accesskey="u" href="idff.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
23
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
24
<th width="100%" align="center">Lasso Reference Manual</th>
25
<td><a accesskey="n" href="LassoLogin.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
27
<div class="refentry" lang="en">
28
<a name="LassoProfile"></a><div class="titlepage"></div>
29
<div class="refnamediv"><table width="100%"><tr>
31
<h2><span class="refentrytitle">LassoProfile</span></h2>
32
<p>LassoProfile — Base class for all ID-FF profiles</p>
34
<td valign="top" align="right"></td>
36
<div class="refsynopsisdiv">
38
<pre class="synopsis">
40
#include <lasso/lasso.h>
43
enum <a href="LassoProfile.html#LassoRequestType">LassoRequestType</a>;
44
<a href="LassoProfile.html#LassoProfile-struct">LassoProfile</a>;
45
<a href="LassoIdentity.html" title="LassoIdentity">LassoIdentity</a>* <a href="LassoProfile.html#lasso-profile-get-identity">lasso_profile_get_identity</a> (<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);
46
<a href="LassoSession.html" title="LassoSession">LassoSession</a>* <a href="LassoProfile.html#lasso-profile-get-session">lasso_profile_get_session</a> (<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);
47
<GTKDOCLINK HREF="gboolean">gboolean</GTKDOCLINK> <a href="LassoProfile.html#lasso-profile-is-identity-dirty">lasso_profile_is_identity_dirty</a> (<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);
48
<GTKDOCLINK HREF="gboolean">gboolean</GTKDOCLINK> <a href="LassoProfile.html#lasso-profile-is-session-dirty">lasso_profile_is_session_dirty</a> (<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);
49
<GTKDOCLINK HREF="gint">gint</GTKDOCLINK> <a href="LassoProfile.html#lasso-profile-set-identity-from-dump">lasso_profile_set_identity_from_dump</a>
50
(<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile,
51
const <GTKDOCLINK HREF="gchar">gchar</GTKDOCLINK> *dump);
52
<GTKDOCLINK HREF="gint">gint</GTKDOCLINK> <a href="LassoProfile.html#lasso-profile-set-session-from-dump">lasso_profile_set_session_from_dump</a>
53
(<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile,
54
const <GTKDOCLINK HREF="gchar">gchar</GTKDOCLINK> *dump);
55
<a href="LassoProfile.html#LassoRequestType">LassoRequestType</a> <a href="LassoProfile.html#lasso-profile-get-request-type-from-soap-msg">lasso_profile_get_request_type_from_soap_msg</a>
56
(const <GTKDOCLINK HREF="gchar">gchar</GTKDOCLINK> *soap);
57
<GTKDOCLINK HREF="gboolean">gboolean</GTKDOCLINK> <a href="LassoProfile.html#lasso-profile-is-liberty-query">lasso_profile_is_liberty_query</a> (const <GTKDOCLINK HREF="gchar">gchar</GTKDOCLINK> *query);
58
<a href="LassoSamlNameIdentifier.html" title="LassoSamlNameIdentifier">LassoSamlNameIdentifier</a>* <a href="LassoProfile.html#lasso-profile-get-nameIdentifier">lasso_profile_get_nameIdentifier</a>
59
(<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);
63
<div class="refsect1" lang="en">
64
<a name="id2526729"></a><h2>Object Hierarchy</h2>
65
<pre class="synopsis">
67
<GTKDOCLINK HREF="GObject">GObject</GTKDOCLINK>
68
+----<a href="LassoNode.html" title="LassoNode">LassoNode</a>
70
+----<a href="LassoDefederation.html" title="LassoDefederation">LassoDefederation</a>
71
+----<a href="LassoLogin.html" title="LassoLogin">LassoLogin</a>
72
+----<a href="LassoLogout.html" title="LassoLogout">LassoLogout</a>
73
+----<a href="LassoNameRegistration.html" title="LassoNameRegistration">LassoNameRegistration</a>
74
+----<a href="LassoNameIdentifierMapping.html" title="LassoNameIdentifierMapping">LassoNameIdentifierMapping</a>
77
<div class="refsect1" lang="en">
78
<a name="id2526798"></a><h2>Description</h2>
83
<div class="refsect1" lang="en">
84
<a name="id2526808"></a><h2>Details</h2>
85
<div class="refsect2" lang="en">
86
<a name="id2526813"></a><h3>
87
<a name="LassoRequestType"></a>enum LassoRequestType</h3>
88
<a class="indexterm" name="id2526825"></a><pre class="programlisting">typedef enum {
89
LASSO_REQUEST_TYPE_INVALID = 0,
90
LASSO_REQUEST_TYPE_LOGIN = 1,
91
LASSO_REQUEST_TYPE_LOGOUT = 2,
92
LASSO_REQUEST_TYPE_DEFEDERATION = 3,
93
LASSO_REQUEST_TYPE_NAME_REGISTRATION = 4,
94
LASSO_REQUEST_TYPE_NAME_IDENTIFIER_MAPPING = 5,
95
LASSO_REQUEST_TYPE_LECP = 6,
96
LASSO_REQUEST_TYPE_DISCO_QUERY = 7,
97
LASSO_REQUEST_TYPE_DISCO_MODIFY = 8,
98
LASSO_REQUEST_TYPE_DST_QUERY = 9,
99
LASSO_REQUEST_TYPE_DST_MODIFY = 10,
100
LASSO_REQUEST_TYPE_SASL_REQUEST = 11,
104
Request types (known for SOAP endpoints)</p>
108
<div class="variablelist"><table border="0">
109
<col align="left" valign="top">
113
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_INVALID</code></span></td>
119
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_LOGIN</code></span></td>
120
<td> Single Sign On and Federation
125
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_LOGOUT</code></span></td>
131
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_DEFEDERATION</code></span></td>
132
<td> Federation Termination
137
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_NAME_REGISTRATION</code></span></td>
138
<td> Name Registration
143
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_NAME_IDENTIFIER_MAPPING</code></span></td>
144
<td> Name Identifier Mapping
149
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_LECP</code></span></td>
150
<td> Liberty-Enabled Client / Proxy
155
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_DISCO_QUERY</code></span></td>
161
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_DISCO_MODIFY</code></span></td>
167
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_DST_QUERY</code></span></td>
173
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_DST_MODIFY</code></span></td>
179
<span class="term"><code class="literal">LASSO_REQUEST_TYPE_SASL_REQUEST</code></span></td>
187
<div class="refsect2" lang="en">
188
<a name="id2527042"></a><h3>
189
<a name="LassoProfile-struct"></a>LassoProfile</h3>
190
<a class="indexterm" name="id2527053"></a><pre class="programlisting">typedef struct {
193
LassoSamlpRequestAbstract *request;
194
LassoSamlpResponseAbstract *response;
196
LassoSamlNameIdentifier *nameIdentifier;
198
gchar *remote_providerID;
202
gchar *msg_relayState;
210
<div class="refsect2" lang="en">
211
<a name="id2527072"></a><h3>
212
<a name="lasso-profile-get-identity"></a>lasso_profile_get_identity ()</h3>
213
<a class="indexterm" name="id2527083"></a><pre class="programlisting"><a href="LassoIdentity.html" title="LassoIdentity">LassoIdentity</a>* lasso_profile_get_identity (<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);</pre>
215
Gets the identity bound to <em class="parameter"><code>profile</code></em>.</p>
219
<div class="variablelist"><table border="0">
220
<col align="left" valign="top">
224
<span class="term"><em class="parameter"><code>profile</code></em> :</span></td>
225
<td> a <a href="LassoProfile.html" title="LassoProfile"><span class="type">LassoProfile</span></a>
230
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
231
<td> the identity or NULL if it none was found. The <a href="LassoIdentity.html" title="LassoIdentity"><span class="type">LassoIdentity</span></a>
232
object is internally allocated and must not be freed by the caller.
239
<div class="refsect2" lang="en">
240
<a name="id2527167"></a><h3>
241
<a name="lasso-profile-get-session"></a>lasso_profile_get_session ()</h3>
242
<a class="indexterm" name="id2527179"></a><pre class="programlisting"><a href="LassoSession.html" title="LassoSession">LassoSession</a>* lasso_profile_get_session (<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);</pre>
244
Gets the session bound to <em class="parameter"><code>profile</code></em>.</p>
248
<div class="variablelist"><table border="0">
249
<col align="left" valign="top">
253
<span class="term"><em class="parameter"><code>profile</code></em> :</span></td>
254
<td> a <a href="LassoProfile.html" title="LassoProfile"><span class="type">LassoProfile</span></a>
259
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
260
<td> the session or NULL if it none was found. The <a href="LassoSession.html" title="LassoSession"><span class="type">LassoSession</span></a>
261
object is internally allocated and must not be freed by the caller.
268
<div class="refsect2" lang="en">
269
<a name="id2527263"></a><h3>
270
<a name="lasso-profile-is-identity-dirty"></a>lasso_profile_is_identity_dirty ()</h3>
271
<a class="indexterm" name="id2527274"></a><pre class="programlisting"><GTKDOCLINK HREF="gboolean">gboolean</GTKDOCLINK> lasso_profile_is_identity_dirty (<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);</pre>
273
Checks whether identity has been modified (and should therefore be saved).</p>
277
<div class="variablelist"><table border="0">
278
<col align="left" valign="top">
282
<span class="term"><em class="parameter"><code>profile</code></em> :</span></td>
283
<td> a <a href="LassoProfile.html" title="LassoProfile"><span class="type">LassoProfile</span></a>
288
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
289
<td> <code class="literal">TRUE</code> if identity has changed
296
<div class="refsect2" lang="en">
297
<a name="id2527349"></a><h3>
298
<a name="lasso-profile-is-session-dirty"></a>lasso_profile_is_session_dirty ()</h3>
299
<a class="indexterm" name="id2527360"></a><pre class="programlisting"><GTKDOCLINK HREF="gboolean">gboolean</GTKDOCLINK> lasso_profile_is_session_dirty (<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);</pre>
301
Checks whether session has been modified (and should therefore be saved).</p>
305
<div class="variablelist"><table border="0">
306
<col align="left" valign="top">
310
<span class="term"><em class="parameter"><code>profile</code></em> :</span></td>
311
<td> a <a href="LassoProfile.html" title="LassoProfile"><span class="type">LassoProfile</span></a>
316
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
317
<td> <code class="literal">TRUE</code> if session has changed
324
<div class="refsect2" lang="en">
325
<a name="id2527436"></a><h3>
326
<a name="lasso-profile-set-identity-from-dump"></a>lasso_profile_set_identity_from_dump ()</h3>
327
<a class="indexterm" name="id2527447"></a><pre class="programlisting"><GTKDOCLINK HREF="gint">gint</GTKDOCLINK> lasso_profile_set_identity_from_dump
328
(<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile,
329
const <GTKDOCLINK HREF="gchar">gchar</GTKDOCLINK> *dump);</pre>
331
Builds a new <a href="LassoIdentity.html" title="LassoIdentity"><span class="type">LassoIdentity</span></a> object from XML dump and binds it to <em class="parameter"><code>profile</code></em>.</p>
335
<div class="variablelist"><table border="0">
336
<col align="left" valign="top">
340
<span class="term"><em class="parameter"><code>profile</code></em> :</span></td>
341
<td> a <a href="LassoProfile.html" title="LassoProfile"><span class="type">LassoProfile</span></a>
346
<span class="term"><em class="parameter"><code>dump</code></em> :</span></td>
347
<td> XML identity dump
352
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
353
<td> 0 on success; or a negative value otherwise.
360
<div class="refsect2" lang="en">
361
<a name="id2527554"></a><h3>
362
<a name="lasso-profile-set-session-from-dump"></a>lasso_profile_set_session_from_dump ()</h3>
363
<a class="indexterm" name="id2527566"></a><pre class="programlisting"><GTKDOCLINK HREF="gint">gint</GTKDOCLINK> lasso_profile_set_session_from_dump
364
(<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile,
365
const <GTKDOCLINK HREF="gchar">gchar</GTKDOCLINK> *dump);</pre>
367
Builds a new <a href="LassoSession.html" title="LassoSession"><span class="type">LassoSession</span></a> object from XML dump and binds it to <em class="parameter"><code>profile</code></em>.</p>
371
<div class="variablelist"><table border="0">
372
<col align="left" valign="top">
376
<span class="term"><em class="parameter"><code>profile</code></em> :</span></td>
377
<td> a <a href="LassoProfile.html" title="LassoProfile"><span class="type">LassoProfile</span></a>
382
<span class="term"><em class="parameter"><code>dump</code></em> :</span></td>
383
<td> XML session dump
388
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
389
<td> 0 on success; or a negative value otherwise.
396
<div class="refsect2" lang="en">
397
<a name="id2527672"></a><h3>
398
<a name="lasso-profile-get-request-type-from-soap-msg"></a>lasso_profile_get_request_type_from_soap_msg ()</h3>
399
<a class="indexterm" name="id2527683"></a><pre class="programlisting"><a href="LassoProfile.html#LassoRequestType">LassoRequestType</a> lasso_profile_get_request_type_from_soap_msg
400
(const <GTKDOCLINK HREF="gchar">gchar</GTKDOCLINK> *soap);</pre>
402
Looks up and return the type of the request in a SOAP message.</p>
406
<div class="variablelist"><table border="0">
407
<col align="left" valign="top">
411
<span class="term"><em class="parameter"><code>soap</code></em> :</span></td>
412
<td> the SOAP message
417
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
418
<td> the type of request
425
<div class="refsect2" lang="en">
426
<a name="id2527746"></a><h3>
427
<a name="lasso-profile-is-liberty-query"></a>lasso_profile_is_liberty_query ()</h3>
428
<a class="indexterm" name="id2527758"></a><pre class="programlisting"><GTKDOCLINK HREF="gboolean">gboolean</GTKDOCLINK> lasso_profile_is_liberty_query (const <GTKDOCLINK HREF="gchar">gchar</GTKDOCLINK> *query);</pre>
430
Tests the query string to know if the URL is called as the result of a
431
Liberty redirect (action initiated elsewhere) or not.</p>
435
<div class="variablelist"><table border="0">
436
<col align="left" valign="top">
440
<span class="term"><em class="parameter"><code>query</code></em> :</span></td>
441
<td> HTTP query string
446
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
447
<td> TRUE if lasso query, FALSE otherwise
454
<div class="refsect2" lang="en">
455
<a name="id2527821"></a><h3>
456
<a name="lasso-profile-get-nameIdentifier"></a>lasso_profile_get_nameIdentifier ()</h3>
457
<a class="indexterm" name="id2527832"></a><pre class="programlisting"><a href="LassoSamlNameIdentifier.html" title="LassoSamlNameIdentifier">LassoSamlNameIdentifier</a>* lasso_profile_get_nameIdentifier
458
(<a href="LassoProfile.html" title="LassoProfile">LassoProfile</a> *profile);</pre>
460
Looks up appropriate federation in object and gets the service provider name
465
<div class="variablelist"><table border="0">
466
<col align="left" valign="top">
470
<span class="term"><em class="parameter"><code>profile</code></em> :</span></td>
471
<td> a <GTKDOCLINK HREF="LassoProifle"><span class="type">LassoProifle</span></GTKDOCLINK>
476
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
477
<td> the name identifier or NULL if none was found. The
478
<a href="LassoSamlNameIdentifier.html" title="LassoSamlNameIdentifier"><span class="type">LassoSamlNameIdentifier</span></a> object is internally allocated and must not be
487
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle">
488
<td align="left"><a accesskey="p" href="idff.html"><b><< Identity Federation Framework</b></a></td>
489
<td align="right"><a accesskey="n" href="LassoLogin.html"><b>LassoLogin >></b></a></td>