Commit Graph

97 Commits

Author SHA1 Message Date
ErickSkrauch 2cc27d34ad Implemented device code grant 2024-12-08 16:54:45 +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 0c110213f4 Remove minecraft_access_keys table and all related code 2024-06-14 05:42:35 +02:00
ErickSkrauch b98649070d Enable better logging for queue 2023-10-15 04:09:09 +02:00
ErickSkrauch 5fc97fdd7a Implemented oauth session revocation notification.
Reworked webhooks notifications constructors
2020-10-01 01:40:28 +03:00
ErickSkrauch b904d5d314 Implemented features to revoke access for previously authorized OAuth 2.0 clients 2020-09-30 20:30:04 +03:00
ErickSkrauch 89526c39bb Fixes ACCOUNTS-4 2020-06-25 21:31:32 +03:00
ErickSkrauch fb452901b8 Rework the webhooks table, allow to update exists webhooks 2020-06-14 01:21:19 +03:00
ErickSkrauch 17f1794a4e Covered all cases, fixed CS, added a new TODO 2020-06-13 01:55:02 +03:00
ErickSkrauch 0183e54442 Implemented account deletion. Not all cases covered with tests [skip ci] 2020-06-12 00:27:02 +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 04e399c726 Fix tests 2019-12-15 00:49:54 +03:00
ErickSkrauch e8b71d33d0 Get rid of mockery library. Still have some troubles with functional tests for api 2019-12-14 00:16:05 +03:00
ErickSkrauch 830a17612b Get rid of ThisShouldNotHappenException 2019-12-13 20:48:13 +03:00
ErickSkrauch 26f7d6213f Update dependencies 2019-12-13 20:37:37 +03:00
ErickSkrauch 14661c2233 Fix manual-migrate command 2019-12-11 15:17:38 +03:00
ErickSkrauch cda4be04a1 Fix condition when to store scopes from redis 2019-12-11 13:23:56 +03:00
ErickSkrauch 3c9050340e Add console command to migrate all oauth sessions scopes data from redis to db 2019-12-11 01:30:12 +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 da318ef2ed Merge branch 'master' into oauth_jwt_tokens 2019-11-07 00:00:26 +03:00
ErickSkrauch c722c46ad5 Add support for the legacy refresh tokens, make the new refresh tokens non-expire [skip ci] 2019-09-22 02:42:08 +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 6c4ce8cb8d Increase cleanup timout for minecraft access tokens 2019-09-01 23:16:13 +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 3dbf29d34c Translate all code comments from Russian to English [skip ci] 2019-07-15 01:59:56 +03:00
ErickSkrauch 5dacd66fb7 Upgrade ely/email-renderer and some other non-breaking dependencies 2019-05-14 01:13:07 +03:00
ErickSkrauch b20825a051 Update ely/php-code-style and run updated CS fixer 2019-02-26 02:26:02 +03: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 a0d88e8a8f Allow any valid locale for account lang 2018-07-08 22:21:33 +03:00
ErickSkrauch 7f42aadfcf Fix code style 2018-07-08 18:55:53 +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 6751eb6591 Implemented webhooks database structure and console command register webhooks 2018-07-07 15:01:18 +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 e3a99f04fe Fixes ACCOUNTS-37R 2018-01-02 20:22:56 +03:00
ErickSkrauch d2f3a05b31 Переход на кодировку utf8md4_unicode_ci 2017-12-23 00:32:36 +03:00
ErickSkrauch 868ee1c61c Добавлена обработка и логгирование ошибок для очереди задач 2017-11-29 02:38:11 +03:00
ErickSkrauch 88175fea48 Отправка всех email вынесена в очередь 2017-11-28 14:33:48 +03:00
ErickSkrauch 0fee23ac86 Сбор метрик о работе воркера 2017-11-22 22:47:36 +03:00
ErickSkrauch d175dcdaed Добавлено небуферизируемое подключение к базе данных для решения проблемы с each и batch запросами 2017-11-15 00:03:38 +03:00
ErickSkrauch e9208d8f21 Используем собственную реализацию each для выборки строк на удаление в cleanup контроллере 2017-11-14 19:49:51 +03:00
ErickSkrauch e6fe2f3755 Добавлено восстановление соединения для AMQP воркера 2017-11-04 15:52:57 +03:00
ErickSkrauch 8e79d1dd1c Добавлено право на избегание удостоверения личности для внутренних приложений 2017-09-30 00:44:05 +03:00
ErickSkrauch 22ed0942e8 Добавлен функционал очистки устаревших AccountSessions 2017-09-29 02:04:16 +03:00
ErickSkrauch ec0b25e88d Добавлен функционал очистки устаревших MinecraftAccessKey 2017-09-27 19:52:28 +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 8e1e83ad67 Исправлена инъекция зависимости, потерянная при мерже 2017-06-11 22:09:07 +03:00
ErickSkrauch bc3a4112eb Добавлен индекс для таблицы oauth_sessions 2017-04-15 23:01:13 +03:00