Commit Graph

79 Commits

Author SHA1 Message Date
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
c3ffb08c4a Cleanup session server module 2019-12-05 01:15:45 +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
72cbf16c97 Merge branch 'master' into oauth_jwt_tokens
# Conflicts:
#	api/components/OAuth2/Entities/AccessTokenEntity.php
#	api/components/OAuth2/Entities/RefreshTokenEntity.php
#	api/components/OAuth2/Grants/RefreshTokenGrant.php
#	api/components/OAuth2/Storage/SessionStorage.php
#	api/components/User/OAuth2Identity.php
2019-12-04 01:17:12 +03:00
ErickSkrauch
22ef41ac7c Fixes ACCOUNTS-5V9. Handle case when access token don't have associated account 2019-12-02 21:15:18 +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
8a1d7148d0 Implemented public scopes repository. Fix some auth cases [skip ci] 2019-09-13 01:19:03 +03:00
ErickSkrauch
4dc2a3025b Rewrite tests for OAuth2 validate and auth code complete steps [skip ci] 2019-09-06 02:33:16 +03:00
ErickSkrauch
29fc267148 Do not delete minecraft access token after its validation 2019-09-01 23:10:47 +03:00
ErickSkrauch
0b63dc2d84 Upgrade oauth2-server to 8.0.0 version, rewrite repositories and entities, start rewriting tests. Intermediate commit [skip ci] 2019-08-23 11:28:04 +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
31069562b3 Update Yii2 framework to the latest version 2019-06-18 02:37:04 +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
918501da81 Implemented the ability to get information about the current account by 0 id 2019-01-24 19:29:46 +03:00
ErickSkrauch
3646bfcb64 Fixes ACCOUNTS-54A. Include deleted applications in the lookup for exists applications. 2018-11-11 13:48:23 +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
02ea7346a8 Implemented PHP-CS-Fixer support 2018-04-17 23:47:25 +03:00
ErickSkrauch
4ee8544355 Fix 403 error on not exists application.
Remove countUsers from minecraft server application type.
2018-03-25 22:21:22 +03:00
ErickSkrauch
673429e577 Implementation of the backend for the OAuth2 clients management 2018-02-28 01:27:35 +03:00
ErickSkrauch
ddec87e3a9 Include composer.lock in the repository. Update dependencies. 2018-02-19 20:06:43 +03:00
ErickSkrauch
013ddd1b1b Добавлено экранирование # символа в QR коде 2018-01-28 13:34:27 +03:00
ErickSkrauch
c6d18f49e7 Улучшено логгирование метрик в statsd 2018-01-02 20:45:04 +03:00
ErickSkrauch
e3a99f04fe Fixes ACCOUNTS-37R 2018-01-02 20:22:56 +03:00
ErickSkrauch
88175fea48 Отправка всех email вынесена в очередь 2017-11-28 14:33:48 +03:00
ErickSkrauch
6f7fcf9e44 Логгируем информацию о типе используемого токена при авторизации на сервере 2017-11-22 22:47:35 +03:00
ErickSkrauch
a94e7095c8 Интегрирован сбор метрик в действия с аккаунтом 2017-11-22 22:47:35 +03:00
ErickSkrauch
236f0e7d50 Интегрирован сбор метрик в sessionserver 2017-11-22 22:47:35 +03:00
ErickSkrauch
47b6761f78 Теперь на этапе включения TOTP код может истечь в течение 2 периодов 2017-11-20 20:48:43 +03:00
ErickSkrauch
dab0ab4cba Тестовые данные теперь интегрируются через аспектную библиотеку 2017-11-14 20:34:16 +03:00
ErickSkrauch
6d4d2177d0 Исправлена обработка ситуации, когда при использовании старого протокола авторизации на сервере пользователь передавал свой ник в неправильном регистре 2017-10-20 15:19:39 +03:00
ErickSkrauch
b8e445b99f Исправлена обработка ситуации, когда uuid selectedProfile при join операции передан без дефисов 2017-10-20 15:03:21 +03:00
ErickSkrauch
7a6c4c3d2b Теперь из otp secret удаляются значения, которые на письме могут быть спутаны 2017-09-30 02:41:26 +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
2c08130f4e Поле token в контексте otp токенов переименовано в totp 2017-09-07 02:37:52 +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
9a38481f7d Добавлен внутренний API для получения информации об аккаунте 2017-04-03 14:54:33 +03:00
ErickSkrauch
f86be5688b Добавлено отдельное сообщение для авторизации в Minecraft, если у аккаунта включена двухфакторная аутентификация 2017-02-23 20:15:03 +03:00
ErickSkrauch
d262e577a6 Исправлено поведение hasJoined операции для legacy протокола 2017-02-13 13:44:14 +03:00
ErickSkrauch
6f81c38b7f Реализована форма разблокировки аккаунта 2017-01-05 00:57:04 +03:00
ErickSkrauch
79bbc12206 Добавлен контроллер для блокировки аккаунта
Добавлен client_credentials grant для oAuth
Рефакторинг структуры OauthScopes чтобы можно было разделить владельца прав на пользовательские и общие (машинные)
Исправлена стилистика кода, внедряются фишки PHP 7.1
2016-12-28 23:25:55 +03:00
ErickSkrauch
1e7039c05c Реализован контроллер для формы запроса на блокировку аккаунта 2016-12-26 19:17:07 +03:00
ErickSkrauch
45775a64af Добавлены unit-тесты для формы блокировки аккаунта 2016-12-26 19:17:07 +03:00