AquaLogic Interaction Development Kit (IDK) 6.0.0 |

# Plumtree.Remote.Auth Namespace

Provides interfaces for creating authentication and synchronization services for users and groups in the AquaLogic Interaction portal.

Remote authentication services are comprised of two parts: synchronization and authentication. Together, these components import new users and allow them to authenticate against the external system of record.

The synchronization component of an authentication service imports users from an external system into the portal so that the users can be categorized in the portals group hierarchy. The synchronization process is handled by the portal Automation Server, as scheduled in the Job associated with the Authentication Source object in the portal. Synchronization does not store users passwords in the portal database. Authentication is handled by the authentication component and the system of record.

The authentication component of an authentication service handles real-time authentication of portal users against an external system. Since the portal cannot change an externally managed password, a users login must be compared against the system of record. The remote authentication service must maintain state and handle the communication between the portal and the back-end system. The user name and password can be captured in the session at login to be used later for basic authentication. Users can be organized using existing groups or hierarchies, or separate authentication services can be used to organize users into portal-specific groups. A Single-Sign On (SSO) authentication service can store an SSO cookie on the users machine to be used by other services. Users imported by a synchronization service must be unique by name and authentication source. The portal identifies users first by their category, then by username; this combination must be unique per user. Authentication services can only be used to create users in the portal and manage their group associations. To import additional user information, use a profile service.

For additional information on the IDK, including tutorials, blogs, code samples and more, see the AquaLogic User Interaction Developer Center on BEA dev2dev.

Namespace hierarchy

### Classes

Class | Description
--- | ---
AuthConstants | Static SCI (`Plumtree.Remote.Sci`) constants related to authentication and synchronization services.
AuthInfo | A `NamedValueMap` for storing on-demand authentication settings. `AuthInfo` is populated from SCI pages associated with the Authentication Web Service. This class provides future extensibility and does not have additional methods.
ChildGroup | Represents a subgroup of a given user group.
ChildGroupList | A wrapper for an array of `ChildGroup` objects. This object also contains a boolean flag that indicates whether or not this is the complete list of `ChildGroup`s to be returned from the `IGroup` implementation.
ChildUser | Represents a user contained within a user group.
ChildUserList | A wrapper for an array of `ChildUser` objects. This object also contains a boolean flag indicating whether or not this is the complete list of `ChildUser`s to be returned from the `IGroup` implementation.
SyncInfo | A `NamedValueMap>` for storing settings for performing user/group synchronization. This class is populated from information entered in the portal's SCI editor for this Web Service. This class provides future extensibility and does not have additional methods.
SyncObject | Represents an object to be synchronized, in this case a user or group.
SyncObjectList | A wrapper for an array of `SyncObject`s. This object also contains a boolean flag indicating whether or not this is the complete list of `SyncObject`s returned from the `ISyncProvider` implementation.

### Interfaces

Interface | Description
--- | ---
IAuthProvider | An interface that provides on-demand authentication against a remote system.
IGroup | An interface that allows a synchronization service to query for the users and groups under a group.
ISyncProvider | Interface that provides user and group synchronization functionality against a remote system.