LassoProfile

LassoProfile — Base class for all ID-FF profiles

Synopsis


#include <lasso/lasso.h>


enum        LassoRequestType;
            LassoProfile;
LassoIdentity* lasso_profile_get_identity   (LassoProfile *profile);
LassoSession* lasso_profile_get_session     (LassoProfile *profile);
gboolean    lasso_profile_is_identity_dirty (LassoProfile *profile);
gboolean    lasso_profile_is_session_dirty  (LassoProfile *profile);
gint        lasso_profile_set_identity_from_dump
                                            (LassoProfile *profile,
                                             const gchar *dump);
gint        lasso_profile_set_session_from_dump
                                            (LassoProfile *profile,
                                             const gchar *dump);
LassoRequestType lasso_profile_get_request_type_from_soap_msg
                                            (const gchar *soap);
gboolean    lasso_profile_is_liberty_query  (const gchar *query);
LassoSamlNameIdentifier* lasso_profile_get_nameIdentifier
                                            (LassoProfile *profile);

Object Hierarchy


  GObject
   +----LassoNode
         +----LassoProfile
               +----LassoDefederation
               +----LassoLogin
               +----LassoLogout

Description

Details

enum LassoRequestType

typedef enum {
	LASSO_REQUEST_TYPE_INVALID = 0,
	LASSO_REQUEST_TYPE_LOGIN = 1,
	LASSO_REQUEST_TYPE_LOGOUT = 2,
	LASSO_REQUEST_TYPE_DEFEDERATION = 3,
	LASSO_REQUEST_TYPE_NAME_REGISTRATION = 4,
	LASSO_REQUEST_TYPE_NAME_IDENTIFIER_MAPPING = 5,
	LASSO_REQUEST_TYPE_LECP = 6,
	LASSO_REQUEST_TYPE_DISCO_QUERY = 7,
	LASSO_REQUEST_TYPE_DISCO_MODIFY = 8,
	LASSO_REQUEST_TYPE_DST_QUERY = 9,
	LASSO_REQUEST_TYPE_DST_MODIFY = 10,
	LASSO_REQUEST_TYPE_SASL_REQUEST = 11,
} LassoRequestType;

Request types (known for SOAP endpoints)

LASSO_REQUEST_TYPE_INVALID invalid
LASSO_REQUEST_TYPE_LOGIN Single Sign On and Federation
LASSO_REQUEST_TYPE_LOGOUT Single Logout
LASSO_REQUEST_TYPE_DEFEDERATION Federation Termination
LASSO_REQUEST_TYPE_NAME_REGISTRATION Name Registration
LASSO_REQUEST_TYPE_NAME_IDENTIFIER_MAPPING Name Identifier Mapping
LASSO_REQUEST_TYPE_LECP Liberty-Enabled Client / Proxy
LASSO_REQUEST_TYPE_DISCO_QUERY
LASSO_REQUEST_TYPE_DISCO_MODIFY
LASSO_REQUEST_TYPE_DST_QUERY
LASSO_REQUEST_TYPE_DST_MODIFY
LASSO_REQUEST_TYPE_SASL_REQUEST

LassoProfile

typedef struct {
	LassoServer *server;

	LassoSamlpRequestAbstract *request;
	LassoSamlpResponseAbstract *response;

	LassoSamlNameIdentifier *nameIdentifier;

	gchar *remote_providerID;

	gchar *msg_url;
	gchar *msg_body;
	gchar *msg_relayState;
} LassoProfile;


lasso_profile_get_identity ()

LassoIdentity* lasso_profile_get_identity   (LassoProfile *profile);

Gets the identity bound to profile.

profile : a LassoProfile
Returns : the identity or NULL if it none was found. The LassoIdentity object is internally allocated and must not be freed by the caller.

lasso_profile_get_session ()

LassoSession* lasso_profile_get_session     (LassoProfile *profile);

Gets the session bound to profile.

profile : a LassoProfile
Returns : the session or NULL if it none was found. The LassoSession object is internally allocated and must not be freed by the caller.

lasso_profile_is_identity_dirty ()

gboolean    lasso_profile_is_identity_dirty (LassoProfile *profile);

Checks whether identity has been modified (and should therefore be saved).

profile : a LassoProfile
Returns : TRUE if identity has changed

lasso_profile_is_session_dirty ()

gboolean    lasso_profile_is_session_dirty  (LassoProfile *profile);

Checks whether session has been modified (and should therefore be saved).

profile : a LassoProfile
Returns : TRUE if session has changed

lasso_profile_set_identity_from_dump ()

gint        lasso_profile_set_identity_from_dump
                                            (LassoProfile *profile,
                                             const gchar *dump);

Builds a new LassoIdentity object from XML dump and binds it to profile.

profile : a LassoProfile
dump : XML identity dump
Returns : 0 on success; or a negative value otherwise.

lasso_profile_set_session_from_dump ()

gint        lasso_profile_set_session_from_dump
                                            (LassoProfile *profile,
                                             const gchar *dump);

Builds a new LassoSession object from XML dump and binds it to profile.

profile : a LassoProfile
dump : XML session dump
Returns : 0 on success; or a negative value otherwise.

lasso_profile_get_request_type_from_soap_msg ()

LassoRequestType lasso_profile_get_request_type_from_soap_msg
                                            (const gchar *soap);

Looks up and return the type of the request in a SOAP message.

soap : the SOAP message
Returns : the type of request

lasso_profile_is_liberty_query ()

gboolean    lasso_profile_is_liberty_query  (const gchar *query);

Tests the query string to know if the URL is called as the result of a Liberty redirect (action initiated elsewhere) or not.

query : HTTP query string
Returns : TRUE if lasso query, FALSE otherwise

lasso_profile_get_nameIdentifier ()

LassoSamlNameIdentifier* lasso_profile_get_nameIdentifier
                                            (LassoProfile *profile);

Looks up appropriate federation in object and gets the service provider name identifier.

profile : a LassoProifle
Returns : the name identifier or NULL if none was found. The LassoSamlNameIdentifier object is internally allocated and must not be freed by the caller.