2013-03-19 4 views
1

Мне нужно сгенерировать код токена/верификации для пользователя, потерявшего свой пароль, но я не могу полагаться на существующую установку Joomla, так как 1) это очень старая установка Joomla (1.5.15) и 2) это один из требований моего проекта. Я ничего не могу тронуть, поскольку это работа сторонних разработчиков, но мне нужно внедрить систему восстановления пароля для мобильных пользователей (iOS и Android на данный момент), и мне нужно знать, какой алгоритм использует система восстановления пароля.Создание кода подтверждения для утерянного пароля?

Может ли кто-нибудь сказать мне, как это работает?

ответ

2

В Joomla Вы можете проверить следующие файлы

components/com_users/controller/reset.php 
components/com_users/modles/reset.php 

В файле контроллера вы можете найти имя одна функция request();

Она использует функцию модели processResetRequest();

В стороне этой функции она будет создавать токен активации со следующими кодами:

 // Set the confirmation token. 
$token = JUtility::getHash(JUserHelper::genRandomPassword()); 
$salt = JUserHelper::getSalt('crypt-md5'); 
$hashedToken = md5($token.$salt).':'.$salt; 

$user->activation = $hashedToken; 

Также joomla проверяет, что токен становится правильным, и это позволит пользователям создавать новый пароль. Если вы хотите сделать это, вы можете использовать следующий код для стандартного пароля joomla.

jimport('joomla.user.helper'); 
$salt = JUserHelper::genRandomPassword(32); 
$crypt = JUserHelper::getCryptedPassword($password_choose, $salt); 
$password = $crypt.':'.$salt; 

приведенный выше код создает пароли joomla.

Если вы планируете использовать это для мобильных устройств и без редактирования ядра Joomla вы можете создать файл на корень и ее достижении, как как this

Надеется, что это может помочь вам ..

+0

именно то, что Я искал. Большое спасибо! :) –

+0

рад слышать, что это помогает вам удачи. –

Смежные вопросы