@Override
    public void populateAttributes(final AuthenticationBuilder builder, final AuthenticationTransaction transaction) {
        val clientInfo = ClientInfoHolder.getClientInfo();
        if (clientInfo != null) {
            addAttribute(builder, ATTRIBUTE_CLIENT_IP_ADDRESS, clientInfo.getClientIpAddress());
            addAttribute(builder, ATTRIBUTE_SERVER_IP_ADDRESS, clientInfo.getServerIpAddress());
            addAttribute(builder, ATTRIBUTE_USER_AGENT, clientInfo.getUserAgent());
            addAttribute(builder, ATTRIBUTE_GEO_LOCATION, clientInfo.getGeoLocation());
            addAttribute(builder, AuthenticationManager.TENANT_ID_ATTRIBUTE, clientInfo.getTenant());
        }
    }
Attribute to track geo location, if any.
core/cas-server-core-authentication-api/src/main/java/org/apereo/cas/authentication/metadata/ClientInfoAuthenticationMetaDataPopulator.java