Remote authentication allows you to integrate your organization's authentication system with KBPublisher.
Before you start:
In your installation there is a folder admin/lib/custom. Within that folder is a file called remote_auth.php. This file contains the _remoteDoAuth function. Customize this function to do authentication against your internal system by using the username and password provided.
Here is a simple example of the function customized to authenticate against a MySQL database:
function remoteDoAuth($username, $password) { $user = false; $db = &DBUtil::connect($conf); $sql = "SELECT id AS 'remote_user_id', email, username, first_name, last_name FROM your_remote_users_table WHERE username = '%s' AND password = '%s'"; $sql = sprintf($sql, $username, $password); $result = $db->Execute($sql) or die(DBUtil::error($sql, true, $db)); // if found if($result->RecordCount() == 1) { $user = $result->FetchRow(); $user['password'] = $password; // here you should provide not md5ing password // assign a priv to user (optional) // it is fully up to you how to determine who is authenticated and what priv to assign // set to off to not rewrite on login $user['priv_id'] = 'off'; // assign a role to user (optional) // it is fully up to you how to determine who is authenticated and what role to assign // set to off to not rewrite on login $user['role_id'] = 1; } return $user; }
Also see examples in attached files.
You can see how your remote authentication works in logs Logs/Logins
For debugging every last login is logged to a file called last_remote_login.log in the KBPublisher cache directory (APP_CACHE_DIR in admin/config.inc.php ).
For example: /home/username/ kb_cache/last_remote_login.log