33 Commits

Author SHA1 Message Date
ErickSkrauch 5ed6f0ce86 Move OAuth module from API to common and solve PHPStan's errors 2024-12-06 01:34:09 +01:00
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 17109f8eb5 Remove unused HS256 signing algorithm 2024-06-14 03:21:00 +02:00
ErickSkrauch 0a666e1e12 Extract public key from private pem file at runtime 2024-06-14 03:03:10 +02:00
ErickSkrauch 16877d502d Drop usage of goaop, replace implementation with events 2023-11-20 04:39:13 +01:00
ErickSkrauch 99c983c3ea Fixes #16. Correctly wrap Yii2's request into the PSR's ServerRequest object 2022-12-10 03:57:43 +01:00
ErickSkrauch f0a73f2b7a Make tokens, created by client credentials grant to live forever 2019-12-06 18:31:04 +03:00
ErickSkrauch 6fb32ec76d Use libsodium to encrypt all data, related to OAuth2 2019-12-06 14:37:51 +03:00
ErickSkrauch 25f1ca912c Fix tests 2019-12-05 00:52:36 +03:00
ErickSkrauch a81ef5cac2 Replace separate minecraft access tokens with JWT 2019-12-04 21:10:15 +03:00
ErickSkrauch a9a56c9e1d Extract encryption key into the configuration param 2019-12-04 13:24:30 +03:00
ErickSkrauch 23a220637c Define default value for AUTHSERVER_HOST 2019-08-08 02:49:04 +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
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 e13b6f0d94 Upgrade PHP to 7.3 and fix some related code errors. Disable self_accessor fixer for PHP-CS-Fixer 2019-04-06 04:15:23 +02:00
ErickSkrauch b05dc6816e Rework tests structure. Upgrade codeception to 2.5.3. Merge params configuration into app configuration. 2019-02-20 22:58:52 +03:00
ErickSkrauch 262142a835 Disable csrf cookies for api 2018-07-11 01:38:48 +03:00
ErickSkrauch 673429e577 Implementation of the backend for the OAuth2 clients management 2018-02-28 01:27:35 +03:00
ErickSkrauch dab0ab4cba Тестовые данные теперь интегрируются через аспектную библиотеку 2017-11-14 20:34:16 +03:00
ErickSkrauch 81bdb1f2af Базовая реализация реакции сервера на dummy данные. 2017-10-12 01:50:09 +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 400f0e87b9 Теперь при передаче запроса как json, закодированный в теле, он автоматически парсится 2017-05-31 03:10:22 +03:00
ErickSkrauch b9e5e3a679 Добавлен обработчик для события блокировки аккаунта 2016-12-29 02:01:26 +03:00
ErickSkrauch 79bbc12206 Добавлен контроллер для блокировки аккаунта
Добавлен client_credentials grant для oAuth
Рефакторинг структуры OauthScopes чтобы можно было разделить владельца прав на пользовательские и общие (машинные)
Исправлена стилистика кода, внедряются фишки PHP 7.1
2016-12-28 23:25:55 +03:00
ErickSkrauch 8570cfcbfa Обновление версии компонента для отправки логов в sentry 2016-12-07 23:22:49 +03:00
ErickSkrauch 225f2fd3cf Первичная интеграция логирования ошибок в sentry 2016-12-01 01:16:52 +03:00
ErickSkrauch 4f259a9dc7 Подменены все ключевые сущности на наши 2016-11-29 23:15:56 +03:00
ErickSkrauch 20286f1744 Все классы, отвечающие за oAuth передвинуты в компоненты API, освежён код, поправлены неймспейсы 2016-11-27 00:43:42 +03:00
ErickSkrauch 49fb2efc0c Не логируем http исключения 2016-11-20 20:37:08 +03:00
ErickSkrauch a7822bf0f1 Уменьшаем уровень логирования для запросов к authserver и sessionserver 2016-11-05 02:53:25 +03:00
ErickSkrauch df1859f0c1 Реализован функционал Mojang API
Исправлена ошибка доступа к authserver из-за перехода на использование хостов, а не доменов
2016-10-02 01:21:54 +03:00
ErickSkrauch df6d319187 Восстановлен запуск тестов
Загрузчик конфигов выделен в отдельный класс
authserverHost выделена в params
Исправлены некоторые common.unit тесты, т.к. наследовались не от того базового класса
2016-09-19 01:01:19 +03:00