Maxmind offers downloadable database for free and paid version. Please read the terms and conditions before using free version.
This database is used offline without internet based outbound calls.
Goal of this solution
NetIQ Access Manager can support custom Geo location providers in order to determine the risk score. Risk Based Authentication with NAM 4.1 will consume this custom provider implementation to read geolocation of user from where user is accessing the system.
This solution will demonstrate how to use Maxmind Geolocation provider with Risk Based Authentication.
Updated maxmind provider java source MaxMindLocalDB.zip Download Maxmind java jar files and copy maxmind-db-1.2.2.jar and geoip2-2.12.0.jar to NIDP lib folder. Compile provider java source file with NIDP lib jar files in classpath and make jar and copy to NIDP lib folder and restart. Download Maxmind GeoLite2 city db and follow the same configuration in this cool solution.
I found an interesting anomaly when using this with FIngerprinting. This was with 4.3.3, and what happened was when the Geolocation was done before the Fingerprinting, the User DN was lost, so Fingerprinting did not work. Reversed the order and everything was OK. That was about as far as I took it.
In the explanation given the used database is the City -one .. does the configured propertyname change depending on the database used ?to like 'countrydbfile' if you were to use the Country - one , or is it all available under the same property ?