This section describes how to integrate the custom geolocation data provider. The API presented here allows you to integrate the custom geolocation data provider with risk-based authentication.
The latest version of Access Manager is installed.
Your development environment requires the same installation as outlined in the NetIQ Access Manager 5.0 Installation and Upgrade Guide.
Download nidp.jar, NAMCommon.jar and risk-*.jar and third-party Geo Location data provider jar files from /opt/novell/nam/idp/webapps/rba-core/WEB-INF/lib and add these files to your development project by using Advanced File Configurator.
For information about how to download a file, see Downloading Files from a Server in the NetIQ Access Manager 5.0 Administration Guide.
For information about how to add a file, see Adding Configurations to a Cluster in the NetIQ Access Manager 5.0 Administration Guide.
Method |
Description |
---|---|
init() |
Takes Properties as its arguments. This properties object contains the parameters which are passed through the Admin Console for this Custom class. The method used to initialize the Geo Location Provider Class. |
readGeoLocInfo() |
Takes InetAddress as its arguments. Returns the Geo Location information as Geolocation Bean. |
You can create the custom geolocation provider class as follows:
import com.novell.nam.nidp.risk.core.geoloc.Provider;
public interface Provider {
public void init(Properties props); public GeoLocBean readGeoLocInfo(InetAddress IPAddress) throws GeoLocException; }
You can create the Custom Provider class by implementing this interface. Override the init() and readGeoLocInfo() methods.
import com.novell.nam.nidp.risk.core.geoloc.AbstractProvider;
public abstract class AbstractProvider implements Provider {
abstract public GeoLocBean readGeoLocInfo(InetAddress IPAddress) throws GeoLocException; public AbstractProvider(Properties props){ init(props); } }
You can create a custom provider class by extending the AbstractProvider class. Override the above init() and readGeoLocInfo() abstract methods.
import com.novell.nam.nidp.risk.core.geoloc.AbstractProvider; import com.novell.nam.nidp.risk.core.geoloc.exception.GeoLocException; import com.novell.nam.nidp.risk.core.geoloc.model.GeoLocBean; public class MyCustomGeoProvider extends AbstractProvider {
public MyCustomGeoProvider (Properties props) { super(props);
}
// The argument 'props' contains the configuration parameters which are provided in the admin console forthis custom class. @Override public void init(Properties props) {
}
// This method should return the geo location information @Override public GeoLocBean readGeoLocInfo(InetAddress IPAddress) throws GeoLocException { // read the geolocation information from any external provider using web service calls or any sources
return null; }
}
Create a jar file for your custom geolocation provider class and any associated classes.
Add jar files to the /opt/novell/nam/idp/webapps/rba-core/WEB-INF/lib directory by using Advanced File Configurator.
For information about how to add a file, see Adding Configurations to a Cluster in the NetIQ Access Manager 5.0 Administration Guide.
In Administration Console, click policies> Risk Configuration > > Geolocation.
Select Custom Provider from the list and specify the following details:
Provider Name: A name that Administration Console can use to identity this custom provider.
Java Class Path: The path name of your custom Geo Provider Java class.
Class Property: The parameters and values which will be passed to the custom class at runtime.
Property Name: The name of the parameter.
Value: The value of the parameter.
Click OK.
Restart Identity Server.
On the Identity Servers page, click Update.
Update any associated devices that are using this Identity Server configuration.