Commit Graph

29 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
d27070630c Fix revokation validation. Add additional tests cases 2019-12-10 22:51:11 +03:00
ErickSkrauch
016a193263 Introduce revokation mechanism 2019-12-10 01:38:09 +03:00
ErickSkrauch
f2ab7346aa Fixed almost everything, but all functional tests are broken at the last minute :( 2019-08-02 03:29:20 +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
valik
445c234360 Added jwt public and private key path params to user component 2019-07-26 11:11:09 +03:00
valik
3f9ee42539 Implemented Rs256 jwt encryption algorithm 2019-07-25 16:29:08 +03:00
ErickSkrauch
3dbf29d34c Translate all code comments from Russian to English [skip ci] 2019-07-15 01:59:56 +03:00
ErickSkrauch
02ea7346a8 Implemented PHP-CS-Fixer support 2018-04-17 23:47:25 +03:00
ErickSkrauch
5649c49a57 Fixes ACCOUNTS-319 2018-01-01 17:12:15 +03:00
ErickSkrauch
40625dbef9 Упразднено использование aud и iss полей для JWT токенов 2017-12-02 22:09:17 +03:00
ErickSkrauch
9356ad24b3 Больше не игнорируем JWT InvalidSubjectException
UnauthorizedHttpException в User/Component больше не логгируется
2017-12-02 21:04:48 +03:00
ErickSkrauch
8e79d1dd1c Добавлено право на избегание удостоверения личности для внутренних приложений 2017-09-30 00:44:05 +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
db1d41449c Исправлена логика авторизации, чтобы не требовать отсутствия Bearer токена для случаев, когда авторизация не требуется 2017-04-04 14:59:23 +03:00
ErickSkrauch
689919fc17 Логика уничтожения активных сессий вынесена в компонент User
Теперь при смене пароля и включении двухфакторной аутентификации также очищаются и сессии Minecraft
2017-02-23 02:01:32 +03:00
ErickSkrauch
6d4bef0549 Исправлена проверка авторизации для запроса на refresh-token 2016-12-13 01:10:05 +03:00
ErickSkrauch
b00c4ae4fc Исправлено поведение User\Component::getIdentity(), если в контроллере не было accessFilter 2016-12-11 17:58:08 +03:00
ErickSkrauch
c324ebe1c6 Формируем время в DateTime для генерации JWT токенов 2016-11-04 12:23:04 +03:00
ErickSkrauch
8120e43bec Исправлен тест для AccountIdentity 2016-09-19 11:18:52 +03:00
ErickSkrauch
6e15522140 Добавлен рейт-лимитер для запросов к hasJoined для незарегистрированных серверов 2016-09-06 20:10:42 +03:00
ErickSkrauch
26b37c2f6b Попытка реализовать отдельный компонент для oAuth авторизации в свой же API. Не тестировал, не проверял работу, просто пушнул, чтобы потом продолжить в дргуом месте. 2016-08-04 01:07:21 +03:00
ErickSkrauch
681996740d При попытке запроса смены E-mail теперь происходит проверка, как давно был выполнен предыдущий запрос 2016-07-17 20:46:04 +03:00
ErickSkrauch
e756dbacd6 Токен, выписанный на сессию без запоминания должен истекать дольше времени 2016-07-17 19:54:33 +03:00
ErickSkrauch
113b9f98d8 Отрефакторен компонент User\Component
Добавлен метод getActiveSession
Добавлена логика для функции "Разлогинить всех" в форме смены пароля
2016-06-05 17:01:35 +03:00
ErickSkrauch
1945a7baec Добавлен роут и логика для обновления access_token по refresh_token'у 2016-05-31 01:03:30 +03:00
ErickSkrauch
bdc96d82c1 Реорганизована выдача JWT токенов
Добавлен механизм сохранения сессий и refresh_token
2016-05-30 02:44:17 +03:00