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