Application Programming Interfaces

The PortalGuard server has numerous interfaces that can be accessed directly for those wanting lower-level integration or more control over PortalGuard’s default behaviors.The following languages all have separate APIs that you may consider using.

JavaScript

The highest-level API interface for PortalGuard is the JavaScript API.It is best used when called through AJAX.As such, XML is returned and must be properly parsed and interpreted (all major browsers now support built-in XML parsers).Out of the box, PortalGuard uses this API to achieve its front-end functionality.

Since JavaScript executes within the user’s browser, this API cannot be used to reliably enforce stronger authentication requirements such as KBA or 2FA.It is best used to request users to enroll challenge answers or a mobile device as part of offering self-service account management or requiring strong or multi-factor authentication through the other APIs.

Requirements

  • PortalGuard is installed on a web server
  • If PortalGuard is not installed on the web server which users are authenticating too, then it should be in same DNS domain (e.g. *.acme.com) to prevent cross-site scripting JavaScript errors

C#

Communication with the PortalGuard server can also be performed using a .NET assembly currently available in C#.This can allow your IIS-based application to call out to PortalGuard for authentication decisions.You would use this API if you wanted to implement your own user login interface, but utilize PortalGuard as the authentication engine in the background.

Requirements

  • Application server is using IIS 6.0 (Windows Server 2003) or later
  • .NET 2.0 framework or later is installed on the application server

Java

Communication with the PortalGuard server can also be performed from your Java or J2EE application server.This interface is a Java Native Interface (JNI) wrapper around the C++ API that follows.It would be used in similar scenarios as the C# API.For example, you could implement a 2FA JAAS module by creating your own JSP-based user login interface and calling out to PortalGuard as the authentication engine.

Requirements

  • Java Runtime Environment 1.4 or later

C++

The lowest level API interface for PortalGuard is the C++ API.This is a compiled DLL written in native C++ code.While it does require stronger attention to detail (e.g. memory management) it is also the most powerful interface.All PortalGuard back-end functionality is implemented at this level to ensure the fastest performance.

Requirements

  • Windows Server 2003 or later
  • Versions are available for both 32-bit and 64-bit architectures

PortalGuard server is installed