Commit Graph

130 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
0183e54442
Implemented account deletion. Not all cases covered with tests [skip ci] 2020-06-12 00:27:02 +03:00
ErickSkrauch
3e1fb19cf3 Update smtp mail transport configuration 2019-12-29 17:59:58 +03: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
673429e577 Implementation of the backend for the OAuth2 clients management 2018-02-28 01:27:35 +03:00
ErickSkrauch
c6d18f49e7 Улучшено логгирование метрик в statsd 2018-01-02 20:45:04 +03:00
ErickSkrauch
b8049e8899 Обновлены тесты для всех форм, что отправляли письма 2017-11-28 14:40:24 +03:00
ErickSkrauch
88175fea48 Отправка всех email вынесена в очередь 2017-11-28 14:33:48 +03:00
ErickSkrauch
6ee40f3fcc Интегрирован сбор метрик в oauth2 процесс 2017-11-22 22:47:35 +03:00
ErickSkrauch
63db3adca9 Добавлена аннотация для сбора метрик из моделей Yii2 и интегрирована в формы авторизации и регистрации 2017-11-22 22:47:35 +03:00
ErickSkrauch
85d109910f Исправлена ошибка при попытке отправить сообщение в форму обратной связи, будучи залогиненным 2017-11-01 19:56:23 +03:00
ErickSkrauch
58d3fd57a8 Исправлен баг с выдачей наружу внутренних названий пермишенов 2017-10-18 02:37:01 +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
1169097adb Форма смены ника теперь принимает аккаунт через конструктор 2017-09-07 22:51:14 +03:00
ErickSkrauch
cb068b9dc0 Все реализации Grant'ов для oAuth перенесены в проект. Форк league/oauth2-client больше не используется 2017-09-07 22:51:07 +03:00
ErickSkrauch
33148a5ac7 Логика oauth процесса вынесена в отдельный класс 2017-09-07 22:21:13 +03:00
ErickSkrauch
2c08130f4e Поле token в контексте otp токенов переименовано в totp 2017-09-07 02:37:52 +03:00
ErickSkrauch
549db30b2b Обновлён Spomky-Labs/otphp до 9.0.2 версии 2017-08-08 20:18:44 +03:00
ErickSkrauch
5480e3c8ef Исправлен рендеринг QR кода для пользователей с короткими username или email 2017-08-08 02:08:34 +03:00
ErickSkrauch
9a852e8052 Рендерим SVG QR код без фиксации его размера, т.к. посчитать правильное разрешение в момент подготовки рендерера не известен размер матрицы 2017-08-08 00:56:24 +03:00
ErickSkrauch
f75c241c5f Не экранируем символы html символы в qr коде, т.к. они всё таки не должны быть экранированы 2017-08-03 14:50:48 +03:00
ErickSkrauch
ec9da1709b Теперь в поле qr запроса /api/two-factor-auth возвращается строка с svg без base64, начинающаяся с data:image/svg+xml, 2017-08-03 03:02:51 +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
492a0be8fa Исправлен путь ко view для шаблона email формы обратной связи 2017-04-25 02:40:35 +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
689919fc17 Логика уничтожения активных сессий вынесена в компонент User
Теперь при смене пароля и включении двухфакторной аутентификации также очищаются и сессии Minecraft
2017-02-23 02:01:32 +03:00
ErickSkrauch
7bf8260331 В форму включения двухфакторной аутентификации добавлено поле для фиксации времени запроса 2017-02-22 01:49:24 +03:00
ErickSkrauch
0eedfe91a2 Добавлено окно для валидации TOTP токена на формах входа и восстановления пароля 2017-02-22 01:44:23 +03:00
ErickSkrauch
0798faa7f1 Добавлена возможность указывать длину генерируемого otp_secret 2017-02-21 20:06:04 +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
6aab2592b4 Добавлены тесты для включения/отключения OTP 2017-01-23 02:07:29 +03:00
ErickSkrauch
be4c7908b2 Реализованы методы для включения\отключения двухфакторной аутентификации 2017-01-21 02:28:26 +03:00
ErickSkrauch
3b9ef7ea70 Реализован метод для запроса информации для активации двухфакторной аутентификации
Добавлен валидатор для TOTP кодов
2017-01-21 02:14:19 +03:00
ErickSkrauch
796ca647e4 #274: упразднена базовая модель KeyConfirmationForm, внедрён обновлённый валидатор EmailActivationKeyValidator 2016-12-23 01:22:51 +03:00