Commit Graph

48 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
0c110213f4
Remove minecraft_access_keys table and all related code 2024-06-14 05:42:35 +02:00
ErickSkrauch
31febd5606
#20 Quick implementation of the https://api.minecraftservices.com/minecraft/profile endpoint [deploy dev] 2022-01-21 21:09:46 +01:00
ErickSkrauch
7da6a952ee
Fix tests 2020-10-02 18:14:43 +03:00
ErickSkrauch
5fc97fdd7a Implemented oauth session revocation notification.
Reworked webhooks notifications constructors
2020-10-01 01:40:28 +03:00
ErickSkrauch
0183e54442
Implemented account deletion. Not all cases covered with tests [skip ci] 2020-06-12 00:27:02 +03:00
ErickSkrauch
d9ef27b745 Cleanup code, improve typings 2019-12-13 22:27:13 +03:00
ErickSkrauch
016a193263 Introduce revokation mechanism 2019-12-10 01:38:09 +03:00
ErickSkrauch
ba7fad84a0 Remove refresh_token from OAuth2 result. Return the same access_token as a refresh_token in case when it's requested. Make access_tokens to live forever. 2019-12-09 19:31:54 +03:00
ErickSkrauch
5536c34b9c Restore full functionality of OAuth2 server [skip ci] 2019-09-22 00:19:11 +03:00
ErickSkrauch
45101d6453 Completely restored authorization_code grant for user side.
Reworked oauth_sessions table.
Added extension to use MariaDB's JSON columns.
Rewritten tests for authorization_code grant for client side.
Deprecate some old shit.
[skip ci]
2019-09-18 02:15:12 +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
dd2c4bc413 Объединены сущности для авторизации посредством JWT токенов и токенов, выданных через oAuth2.
Все действия, связанные с аккаунтами, теперь вызываются через url `/api/v1/accounts/<id>/<action>`.
Добавлена вменяемая система разграничения прав на основе RBAC.
Теперь oAuth2 токены генерируются как случайная строка в 40 символов длинной, а не UUID.
Исправлен баг с неправильным временем жизни токена в ответе успешного запроса аутентификации.
Теперь все unit тесты можно успешно прогнать без наличия интернета.
2017-09-19 20:06:17 +03:00
ErickSkrauch
33148a5ac7 Логика oauth процесса вынесена в отдельный класс 2017-09-07 22:21:13 +03:00
ErickSkrauch
3b9ef7ea70 Реализован метод для запроса информации для активации двухфакторной аутентификации
Добавлен валидатор для TOTP кодов
2017-01-21 02:14:19 +03:00
ErickSkrauch
b9e5e3a679 Добавлен обработчик для события блокировки аккаунта 2016-12-29 02:01:26 +03:00
ErickSkrauch
bc2f1d4ce9 Добавлено запоминание client_redirect_uri при oauth авторизации 2016-11-05 18:02:46 +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
9c8600b2ad В процесс регистрации добавлена поддержка логики, когда можно перезанять ник или email, который ещё не окончил регистрацию.
Валидатор LanguageValidator убран из модели Account
2016-10-27 01:34:51 +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
26b37c2f6b Попытка реализовать отдельный компонент для oAuth авторизации в свой же API. Не тестировал, не проверял работу, просто пушнул, чтобы потом продолжить в дргуом месте. 2016-08-04 01:07:21 +03:00
ErickSkrauch
31679b84cb Упразднён контроллер PasswordProtectedController и заменён на валидатор PasswordRequiredValidator
Реорганизованы тесты для ChangeUsernameFormTest
2016-07-25 14:07:14 +03:00
ErickSkrauch
b26ac7119c Из модели Account удалены лишние методы 2016-07-17 15:27:29 +03:00
ErickSkrauch
8906370bb9 Образован хелпер Error, в который вынесены все коды ошибок.
Подкорректирован errorDict на фронте
2016-06-16 23:32:23 +03:00
ErickSkrauch
55de1c4993 Настроен code coverage для тестов php части 2016-06-16 00:38:43 +03:00
ErickSkrauch
bdc96d82c1 Реорганизована выдача JWT токенов
Добавлен механизм сохранения сессий и refresh_token
2016-05-30 02:44:17 +03:00
ErickSkrauch
ecd92b8fda Добавлена поддержка запоминания языка для аккаунта
Обновлена минимальная версия Yii2
Удалено немного хлама от Yii2 Advanced
Исправлены некоторые тесты
2016-05-13 12:03:00 +03:00
ErickSkrauch
184ff02240 Изменёна кодировка столбца username в usernames_history для организации бинарного поиска
Из Account вынесена логика аутентификации в дочерний AccountIdentity
Исправлена логика валидации при вызове на неизменённом нике для формы смены ника
2016-05-12 11:50:30 +03:00
ErickSkrauch
479f633d3f Добавлена защита от регистрации на сервисы 10-минутной почты 2016-05-01 19:43:28 +03:00
ErickSkrauch
cba769a1ec В проект внедрён RabbitMQ.
Контроллер для работы с RabbitMQ научился создавать типизированные аргументы для $body
Добавлена таблица с историей ников
Добавлена таблица Mojang ников
Добавлена проверка активированности аккаунта в AccountsController
2016-04-23 21:44:10 +03:00
SleepWalker
d8a2cc21b8 Merge branch 'profile' 2016-03-21 20:28:18 +02:00
ErickSkrauch
e67257b8aa Реализована форма смены ника пользователя
Добавлена базовая форма с запросом пароля
Валидация ника и email адреса вынесены из формы регистрации в модель аккаунта
Отрефакторен тест формы регистрации
Добавлены тесты для модели аккаунта
2016-03-20 02:25:26 +03:00
SleepWalker
e60a4783c1 Merge branch 'master' into profile 2016-03-16 08:04:06 +02:00
ErickSkrauch
b9ee667829 Первичная реализация формы отправки нового письма с активацией аккаунта, чуть-чуть рефакторинга тестов 2016-03-13 02:19:00 +03:00
ErickSkrauch
d9a218e075 Добавлено запоминание последнего изменения пароля, удалено поле auth_key, поправлена загрузка фикстур для функциональных тестов 2016-03-12 00:55:46 +03:00
ErickSkrauch
5c056710bc Добавлена страница с отправкой письма для восстановления пароля от аккаунта 2016-02-28 00:26:13 +03:00
ErickSkrauch
93a94c656b Добавлена форма смены пароля и её тесты 2016-02-27 01:22:09 +03:00
ErickSkrauch
601f0a290b Изменён алгоритм авторизации на использование jwt токенов 2016-02-23 01:22:04 +03:00
ErickSkrauch
f5f93ddef1 Реализована логика oAuth авторизации приложений, добавлен Redis, удалены лишние тесты, пофикшены старые. 2016-02-14 20:50:10 +03:00
ErickSkrauch
44aaea2c08 Отрефакторены тесты
Удалено тестовое окружение acceptance
Удалена часть потенциально ненужных тестов
Добавлена логика для формы регистрации
Добавлена таблица для хранения ключей активации по E-mail
Добавлены тесты для формы регистрации
Реорганизован роутинг
Добавлен компонент для ReCaptcha2
2016-01-15 12:21:27 +03:00
ErickSkrauch
45c31dfbbe Добавлено поле username в модель Account, скорретирована форма входа и её тесты 2016-01-04 18:31:14 +03:00
ErickSkrauch
7b650e2654 Описана базовая миграция, добавлена модель аккаунта, добавлена модель авторизации, написаны первичные тесты для этой модели, добавлен модуль авторизации, настроен базовый контроллер. Короче много чего сделано 2016-01-03 03:18:37 +03:00