Lasso Architecture

LassoServer — Representation of the current server
LassoProvider — Service or identity provider
LassoIdentity — Principal identity
LassoFederation — Principal federation between two providers
LassoSession — Principal Session
LassoProfile — Base class for all identity profiles
Error Codes — Error codes returned by lasso functions
LassoNode — Base class for all Lasso objects
Base Strings — General strings constants for Lasso
registry — Class to store a mapping of qualified names (QName) to other qualified names.

Lasso handle the concepts of providers sharing identities, that can enable the creation of sessions following an authentication. The current provider is represented by the LassoServer object, which inherit from the LassoProvider. All known providers to the current provider must be registered inside the LassoServer object. Some providers are identity providers, by sending authentication request you can establish federation, materialised by LassoFederation objects, between identity stored by the identity provider and another stored by the current provider. Those federation are stored in the LassoIdentity object. Each time an authentication is done, an assertion reprenting it is stored in the LassoSession object. They are stored in a map, keyed by the originating identity provider, see lasso_session_get_assertion().

Protocols from the ID-FF 1.2 or the SAML 2.0 family are represented by object whose class inherit from LassoProfile. The constructor of those profile objects needs a LassoServer, and eventually a LassoIdentity and a LassoSession.

LassoNode is the base class for all Lasso classes, it gives XML serialization and deserialization support to all of them.

The LassoMiscTextNode allows to represent miscellenaous nodes for whose no mapping to a specific GObjectClass exists.