Octol1ttle
5225ea1b02
Update Mojang API response code and messages, implement UUID->Username endpoint ( #47 )
...
* Update Mojang API response code and messages, implement UUID->Username endpoint
* php-cs-fixer
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* review: address the minor issues
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* try to implement legacy response support (all tests are failing (routing is broken))
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* well that was 10x easier
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* fix: php-cs-fixer
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* Fix PHPStan errors and update tests for authlib-injector entrypoint. Final polishing before merge
---------
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru >
2025-03-01 01:08:52 +01:00
ErickSkrauch
997f135d2d
Merge remote-tracking branch 'octol1ttle/fix-authlibinjector-route'
...
# Conflicts:
# api/config/routes.php
2025-02-14 16:08:52 +01:00
Octol1ttle
884c11f98f
fix: use correct service route for authlib-injector's lookup/bulk/byname
...
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
2025-02-14 15:26:25 +05:00
Octol1ttle
8c82f45764
new: add minecraftservices' Username->UUID endpoint
...
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
2025-02-14 15:22:43 +05:00
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
d921616360
Allow secure headers from internal network for production deployment
2024-06-20 04:44:11 +02:00
Octol1ttle
4231f99717
Move new "usernames -> UUIDs" endpoint to the correct location ( #33 )
...
* change: test non-injector endpoints in non-injector tests
* fix: move new "usernames -> UUIDs" endpoint to the correct location
2024-06-17 14:02:01 +02: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
345bc80d05
Added support of the onUnknownProfileRespondWithUuid
when calling Chrly endpoint
2024-06-11 03:50:10 +02:00
ErickSkrauch
16877d502d
Drop usage of goaop, replace implementation with events
2023-11-20 04:39:13 +01:00
Octol1ttle
574d03d02f
Add a redirect for new Usernames to UUIDs endpoint ( #29 )
...
* fix: add redirect for new "Usernames to UUIDs" endpoint location
"As of 23w42a, the endpoint moved to: 'POST https://sessionserver.mojang.com/session/minecraft/profile/lookup/bulk/byname '
"
https://wiki.vg/Mojang_API#Usernames_to_UUIDs
* add a redirect for authlib-injector too
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* revert: .gitignore
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* tests: pass new URL to existing tests
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* review: address requested changes
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* style: add type hints to MinecraftProfilesCest functions too
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
---------
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
2023-11-20 01:36:39 +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
9c39e97640
Merge pull request #21 from elyby/iss_20_minecraftservices_profile
...
MinecraftServices Profile info API endpoint
2022-12-10 00:16:40 +01:00
ErickSkrauch
b113beb78e
Fixes #27 . Serialize empty textures as an object
2022-12-05 22:50:22 +01: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
202099bf84
Implemented missing endpoint for the authlib injector
2021-06-13 21:21:25 +02:00
ErickSkrauch
bd168808b2
Make Chrly's domain configurable
2021-03-04 05:58:07 +01:00
ErickSkrauch
4856695940
Resolves #2 . Implemented authlib-injector support
2021-03-03 15:04:42 +01:00
ErickSkrauch
b904d5d314
Implemented features to revoke access for previously authorized OAuth 2.0 clients
2020-09-30 20:30:04 +03:00
ErickSkrauch
0183e54442
Implemented account deletion. Not all cases covered with tests [skip ci]
2020-06-12 00:27:02 +03:00
ErickSkrauch
7607248c27
Remove usage of codeception/specify and fzaninotto/faker
2019-12-29 17:55:21 +03: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
642db2e045
Use libsodium to encrypt data, stored in jwt tokens
2019-12-05 19:37:46 +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
194a7acd2a
Fixes ACCOUNTS-5FF. Handle 204 response from Chrly.
2019-05-13 19:39:11 +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
0198a3e010
Добавлена конвертация старых запросов к аккаунтам в новые
2017-09-21 20:00:13 +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
667c034aca
Обновлена версия Yii2, удалён костыль для учёта http/https
2017-04-04 14:40:09 +03:00
ErickSkrauch
be4c7908b2
Реализованы методы для включения\отключения двухфакторной аутентификации
2017-01-21 02:28:26 +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