- Хроники
- Chaotic Throne: High Five
- Исходники
- Присутствуют
- Сборка
- jts 2018
Доброго времени суток.
Не могу разобраться, как работает связь обвязки Ghtweb 5.1.3 (взята с Github'a) и ява-сборки jts 2018 года. Сам логин и игровой сервер запущены и работают.
Развернул и настроил Ghtweb 5, отображает онлайн сервера, список игроков, топ ПВП/ПК.
Проблема с созданием аккаунта на сайте. После успешной регистрации, учётные данные принимаются сайтом. Стоит зайти на логин сервер, даже до выбора сервера, в ЛК на сайт уже не попасть.
Опытным путём и чтением результатов запроса в Гугл, причиной считаю разную генерацию хэшей БД сайта и логин сервера.
При авторизации на сайте хэш имеет такой вид: faf200037c7b4290662d57f0ee59a450 (поле hash_auth), на логин сервере — fEqNCco3Yq9h5ZUglD3CZJT4lBs=(поле password). После авторизации на логин сервере значение поле password становится вида — sha1:1000:BKUtFOSowxjReuJ2InqAesCMSOOmUo3q:RckmG3A/AGEG3TODiYTgsCWjz6+/UqyW и зайти в ЛК на сайте больше нельзя.
В настройках логин-сервера на ghtweb стоит тип шифрования sha1, в конфиге логин сервера, так же стоит sha1. Менял настройки на whirpool и в ght и в логин сервере. Поведение не поменялось, только в указанных выше полях поначалу меняется вид строки хэша.
Кто сталкивался с подобным, прошу подсказать, как исправить или куда копать?
Прикрепляю файл LoginForm, так как там в коде встречается passwordEncrypt
Не могу разобраться, как работает связь обвязки Ghtweb 5.1.3 (взята с Github'a) и ява-сборки jts 2018 года. Сам логин и игровой сервер запущены и работают.
Развернул и настроил Ghtweb 5, отображает онлайн сервера, список игроков, топ ПВП/ПК.
Проблема с созданием аккаунта на сайте. После успешной регистрации, учётные данные принимаются сайтом. Стоит зайти на логин сервер, даже до выбора сервера, в ЛК на сайт уже не попасть.
Опытным путём и чтением результатов запроса в Гугл, причиной считаю разную генерацию хэшей БД сайта и логин сервера.
При авторизации на сайте хэш имеет такой вид: faf200037c7b4290662d57f0ee59a450 (поле hash_auth), на логин сервере — fEqNCco3Yq9h5ZUglD3CZJT4lBs=(поле password). После авторизации на логин сервере значение поле password становится вида — sha1:1000:BKUtFOSowxjReuJ2InqAesCMSOOmUo3q:RckmG3A/AGEG3TODiYTgsCWjz6+/UqyW и зайти в ЛК на сайте больше нельзя.
В настройках логин-сервера на ghtweb стоит тип шифрования sha1, в конфиге логин сервера, так же стоит sha1. Менял настройки на whirpool и в ght и в логин сервере. Поведение не поменялось, только в указанных выше полях поначалу меняется вид строки хэша.
Кто сталкивался с подобным, прошу подсказать, как исправить или куда копать?
Прикрепляю файл LoginForm, так как там в коде встречается passwordEncrypt
PHP:
// Аккаунт на сервере найден
if ($account) {
if ($account['password'] == $l2->passwordEncrypt($this->getPassword())) {
// Аккаунта на сайте нет, создаю его так как на сервере он уже есть
if (!$siteAccount) {
$email = null;
$columnNames = $l2->getDb()
->getSchema()
->getTable('accounts')
->getColumnNames();
if (is_array($columnNames)) {
foreach ($columnNames as $column) {
if (strpos($column, 'mail') !== false && isset($account[$column])) {
$email = $account[$column];
}
}
}
// В таблице с аккаунтами нет поля с Email. Нет смысла регать дальше аккаунт на сайте
if (!$email) {
throw new Exception('Аккаунт не найден');
}
// Создаю аккаунт на сайте
$userModel = Users::create($login, $email, Users::STATUS_ACTIVATED, $lsId, Users::ROLE_DEFAULT);
$userModel->save(false);
$siteAccountUserId = $userModel->user_id;
}
$found = true;
}
}
// Аккаунт не найден
if (!$found) {
if ($siteAccountUserId) {
UsersAuthLogs::model()->addErrorAuth($siteAccountUserId);
}
$this->incrementBadAttempt();
$this->addError($attr, 'Неправильный Логин или Пароль.');
}
} catch (Exception $e) {
$this->addError('login', $e->getMessage());
}
}