Overview of the WAM Agents API
The WAM Agents API enables you to implement custom WAM agents that communicate with a WAM Policy Server to authenticate users, check access control permissions, retrieve session attributes, and control WAM sessions.
In addition, the WAM Agents API works in conjunction with the WAM Permissions API, enabling you to extend WAM to support new/custom resource types.
The CamsClient is at the core of the WAM Agents API. It provides a way for agents to look up and remotely invoke WAM agent services hosted on a WAM Policy Server by use of client-side service stubs.
Typical services used by agents include:
AuthenticationService: Used by an agent to authenticate (login) a user or software system.
AccessControlService: Used to by an agent to check access to a protected resource.
SessionAccessService: Used by an agent to get information about the session associated with an authenticated user.
SessionControlService: Used by an agent to close an active session.
PingService: Used by an agent to test connectivity with a WAM Policy Server.
Agent-level code need not be concerned with the underlying network protocol(s) used by WAM client-side service stubs to communicate with a WAM Policy Server, only the business methods available from services to enforce security checks.
Currently, the WAM Agents API is available only from the Java programming language.
A language binding for C/C++ is also under consideration along with support for popular platforms like Linux/i386, Windows/i386, Solaris/sparc, and others.
If you have need to implement an agent in an operating environment that does not support Java, please contact OneLogin.
In addition to possible support for different programming languages and operating systems, the WAM Policy Server has an architecture which enables addition of server-side connectors for new network interfaces.
Although this must currently be done by OneLogin engineering, if a particular networking interface such as RMI, CORBA, Web Services, or DCOM is important to you, please be sure to let us know.
WAM is designed to be flexible and extensible and we’re interested in supporting access to WAM services wherever need arises.