Commit Graph

58 Commits

Author SHA1 Message Date
Octol1ttle
57d492da8a
Upgrade project to PHP 8.3, add PHPStan, upgrade almost every dependency (#36)
* start updating to PHP 8.3

* taking off!

Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru>
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* dropped this

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* migrate to symfonymailer

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* this is so stupid 😭

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* ah, free, at last.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* oh, Gabriel.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* now dawns thy reckoning.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* and thy gore shall GLISTEN before the temples of man.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* creature of steel.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* my gratitude upon thee for my freedom.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* but the crimes thy kind has committed against humanity

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* Upgrade PHP-CS-Fixer and do fix the codebase

* First review round (maybe I have broken something)

* are NOT forgotten.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* Enable parallel PHP-CS-Fixer runner

* PHPStan level 1

* PHPStan level 2

* PHPStan level 3

* PHPStan level 4

* PHPStan level 5

* Levels 6 and 7 takes too much effort. Generate a baseline and fix them eventually

* Resolve TODO's related to the php-mock

* Drastically reduce baseline size with the Rector

* More code modernization with help of the Rector

* Update GitLab CI

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru>
2024-12-02 11:10:55 +01:00
ErickSkrauch
16877d502d
Drop usage of goaop, replace implementation with events 2023-11-20 04:39:13 +01:00
ErickSkrauch
43a4a58053 Remove usage of codeception/specify and fzaninotto/faker 2019-12-21 02:26:06 +03:00
ErickSkrauch
666213afc7 Rework email_activation model, get rid of behaviors, use json column to store additional data 2019-12-21 01:23:58 +03:00
ErickSkrauch
d9ef27b745 Cleanup code, improve typings 2019-12-13 22:27:13 +03:00
ErickSkrauch
830a17612b Get rid of ThisShouldNotHappenException 2019-12-13 20:48:13 +03:00
ErickSkrauch
a81ef5cac2 Replace separate minecraft access tokens with JWT 2019-12-04 21:10:15 +03:00
ErickSkrauch
6bd054e743 Fix some tests 2019-08-01 19:58:18 +03:00
ErickSkrauch
45c2ed601d Replace emarref/jwt with lcobucci/jwt
Refactor all JWT-related components
Replace RS256 with ES256 as a preferred JWT algorithm
2019-08-01 12:17:12 +03:00
ErickSkrauch
4c2a9cc172 Cleanup User Component, update tests 2019-07-26 17:04:57 +03:00
ErickSkrauch
3dbf29d34c Translate all code comments from Russian to English [skip ci] 2019-07-15 01:59:56 +03:00
ErickSkrauch
c0aa78d156 Implemented WebHooks delivery queue.
Completely removed usage of the RabbitMQ. Queue now based on Redis channels.
Worker process now extracted as separate docker container.
Base image upgraded to the 1.8.0 version (PHP 7.2.7 and pcntl extension).
2018-07-08 18:20:19 +03:00
ErickSkrauch
02ea7346a8 Implemented PHP-CS-Fixer support 2018-04-17 23:47:25 +03:00
ErickSkrauch
b8049e8899 Обновлены тесты для всех форм, что отправляли письма 2017-11-28 14:40:24 +03:00
ErickSkrauch
88175fea48 Отправка всех email вынесена в очередь 2017-11-28 14:33:48 +03:00
ErickSkrauch
63db3adca9 Добавлена аннотация для сбора метрик из моделей Yii2 и интегрирована в формы авторизации и регистрации 2017-11-22 22:47:35 +03:00
ErickSkrauch
18364c625f Форма восстановления пароля больше не требует решения totp 2017-10-16 00:23:31 +03:00
ErickSkrauch
dd2c4bc413 Объединены сущности для авторизации посредством JWT токенов и токенов, выданных через oAuth2.
Все действия, связанные с аккаунтами, теперь вызываются через url `/api/v1/accounts/<id>/<action>`.
Добавлена вменяемая система разграничения прав на основе RBAC.
Теперь oAuth2 токены генерируются как случайная строка в 40 символов длинной, а не UUID.
Исправлен баг с неправильным временем жизни токена в ответе успешного запроса аутентификации.
Теперь все unit тесты можно успешно прогнать без наличия интернета.
2017-09-19 20:06:17 +03:00
ErickSkrauch
928b3aa7fc Исправлена инициализация ChangeUsernameForm в форме подтверждения E-mail 2017-09-07 22:51:14 +03:00
ErickSkrauch
2c08130f4e Поле token в контексте otp токенов переименовано в totp 2017-09-07 02:37:52 +03:00
ErickSkrauch
6abd92e715 Merge branch 'develop' into forgot_password_captcha
# Conflicts:
#	api/models/authentication/ForgotPasswordForm.php
2017-04-25 21:00:01 +03:00
ErickSkrauch
1d5e0ce2c6 Компонент для email'ов перемещён в common 2017-04-24 19:24:15 +03:00
ErickSkrauch
c0780736ca Все части, отвечающие за отправку E-mail вынесены в отдельный компонент 2017-04-21 01:42:39 +03:00
ErickSkrauch
00dd8e14b2 Форма запроса восстановления пароля теперь требует разгадки капчи 2017-04-18 19:08:11 +03:00
ErickSkrauch
0eedfe91a2 Добавлено окно для валидации TOTP токена на формах входа и восстановления пароля 2017-02-22 01:44:23 +03:00
ErickSkrauch
4695b6e724 Внедрена валидация OTP в процесс восстановления пароля 2017-01-23 23:50:13 +03:00
ErickSkrauch
a2e1e9a805 В форму входа внедрена проверка на наличие включённой OTP авторизации 2017-01-23 14:22:20 +03:00
ErickSkrauch
796ca647e4 #274: упразднена базовая модель KeyConfirmationForm, внедрён обновлённый валидатор EmailActivationKeyValidator 2016-12-23 01:22:51 +03:00
ErickSkrauch
93f8d170dc Более точное условие для автоматической смены пароля в форме входа 2016-11-02 00:04:10 +03:00
ErickSkrauch
b6b579b721 Метод save на модели Accounts теперь вызывается без аргумента false, т.к. из модели были удалены валидаторы 2016-11-02 00:02:58 +03:00
ErickSkrauch
3cce2c9bd1 Переименован класс валидатора пароля 2016-11-01 23:59:43 +03:00
ErickSkrauch
91df81f97d Образован валидатор EmailValidator 2016-11-01 23:57:42 +03:00
ErickSkrauch
94a8e21f27 Образован валидатор UsernameValidator 2016-11-01 23:27:38 +03:00
ErickSkrauch
3b56f3c418 Фиксы после инспекции кода новым инспектором в PHPStorm
В некоторых формах отключена валидация при сохранении модели аккаунта
2016-11-01 19:36:39 +03:00
ErickSkrauch
9c8600b2ad В процесс регистрации добавлена поддержка логики, когда можно перезанять ник или email, который ещё не окончил регистрацию.
Валидатор LanguageValidator убран из модели Account
2016-10-27 01:34:51 +03:00
ErickSkrauch
5a88229c2d Создаём событие о новом нике только при успешной регистрации 2016-10-27 00:07:08 +03:00
ErickSkrauch
cfd8ba95ef Отключаем валидацию для форм, где не участвуют email и username 2016-10-25 11:46:31 +03:00
ErickSkrauch
f193964ea3 Фикс переменных, отвечающих за коды для писем 2016-10-04 01:45:50 +03:00
ErickSkrauch
c162a46e62 Интегрирован шаблон для письма "забыл пароль" 2016-10-03 01:59:24 +03:00
ErickSkrauch
b67a1879fe Обновлена версия Email Renderer
Добавлен компонент для настройки Email Renderer
Добавлен роут в nginx для отображения картинок из Email Renderer
2016-10-02 12:52:17 +03:00
ErickSkrauch
df1859f0c1 Реализован функционал Mojang API
Исправлена ошибка доступа к authserver из-за перехода на использование хостов, а не доменов
2016-10-02 01:21:54 +03:00
ErickSkrauch
9d935d84cd Интеграция письма о регистрации 2016-09-13 14:50:22 +03:00
ErickSkrauch
9c658f5bd9 Тесты для AuthorizationForm и кастомного RequiredValidator
В модуль Authserver добавлены хелперы для логирования
Исправлена ошибка в MinecraftAccessKey
Ускорено тестирование всего приложения
2016-08-29 02:17:45 +03:00
ErickSkrauch
72a7f743be Мигрирована логика блокировки аккаунтов 2016-08-22 00:09:14 +03:00
ErickSkrauch
b57b015f66 Первичное портирование логики сервера авторизации с PhalconPHP на Yii2 2016-08-21 02:23:48 +03:00
ErickSkrauch
59f51451d0 Добавлено запоминание регистрационного IP адреса 2016-08-18 02:56:05 +03:00
ErickSkrauch
cf6c7bc88e Добавлено поле версии принятых правил 2016-08-06 18:52:03 +03:00
ErickSkrauch
c2986445f1 В форму регистрации и форму повторной отправки Email внедрён валидатор ReCaptcha 2016-08-03 15:57:41 +03:00
ErickSkrauch
e756dbacd6 Токен, выписанный на сессию без запоминания должен истекать дольше времени 2016-07-17 19:54:33 +03:00
ErickSkrauch
ae3c3b88de Добавлен обработчик для удаления сессии при логауте 2016-07-17 19:38:04 +03:00