我正在开发自定义身份验证插件,用于从第三方 API 登录 joomla。
当我们使用用户/密码登录任何 Joomla 实例时,用户/密码被传递给 API 以获得正确的响应(如 login_id、用户名、员工身份、电子邮件、公用名。)然后 Joomla 在 Joomla 上创建用户并保存响应,如(用户名、全名、电子邮件)在 Joomla 数据库上。现在 ccms auth 插件工作正常。
我的要求是在来自 API 的用户身份验证插件时在 jos_users 上再保存一列。为此,我在 jos_user 表中创建了一列employee_ident,但无法将employee_ident 保存在jos_user 表的joomla db 中。
这是我的代码:
$result = $client->call($method, $params);
[0] => Array
(
[login_id] => Frasier.9878
[email_address] => frabc@gmail.com
[position_code_type_ident] => 157
[employee_ident] => 166651
[position_code_department_abbr_name] => executive_management
[position_code_title] => Chief Financial Officer
[hire_date] => 2003-01-20
[common_name] => Frasier Crane
)
if($result)
{
$email_address = isset($result[0][email_address]) ? $result[0][email_address] : $credentials['username']."@test.com";
$response->email = $email_address;
$response->fullname =$result[0][common_name];
$response->employee_ident =$result[0][employee_ident];
$response->username =$credentials['username'];
$response->status = JAuthentication::STATUS_SUCCESS;
$response->error_message = '';
}