ErickSkrauch
6bd054e743
Fix some tests
2019-08-01 19:58:18 +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
b2bd267eda
Removed change skin scope from refresh code
2019-07-31 15:23:01 +03:00
ErickSkrauch
4c2a9cc172
Cleanup User Component, update tests
2019-07-26 17:04:57 +03:00
valik
e23c3aeaed
Implemented change skin scope
2019-07-26 12:49:48 +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
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
d5cb0f304c
Add tests for emails renderer api client and Yii2 wrapper component
2019-06-18 01:19:07 +03:00
ErickSkrauch
75fdd5d1ba
Upgrade Codeception to 3 version. Remove codeception/verify.
2019-05-14 02:12:49 +03:00
ErickSkrauch
194a7acd2a
Fixes ACCOUNTS-5FF. Handle 204 response from Chrly.
2019-05-13 19:39:11 +03:00
ErickSkrauch
f33439d829
Completely untie the backend from the frontend.
...
Build nginx and mariadb together with the app image.
Upgrade docker-compose configuration to 3 version.
Add cleanup step to the gitlab-ci.
2019-04-06 15:52:23 +02: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
b20825a051
Update ely/php-code-style and run updated CS fixer
2019-02-26 02:26:02 +03:00
ErickSkrauch
ea4ebd19ef
Update dependencies
2019-02-23 17:15:20 +03:00
ErickSkrauch
1cafa36b98
Fix codestyle
2019-02-23 02:27:38 +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
262142a835
Disable csrf cookies for api
2018-07-11 01:38:48 +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
5a8c2641c1
Replace google.com/recaptcha to recaptcha.net domain to possibly solve China troubles
2018-03-16 19:05:39 +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
120057b66c
Fixes ACCOUNTS-322
2018-01-02 19:29:34 +03:00
ErickSkrauch
5649c49a57
Fixes ACCOUNTS-319
2018-01-01 17:12:15 +03:00
ErickSkrauch
40625dbef9
Упразднено использование aud и iss полей для JWT токенов
2017-12-02 22:09:17 +03:00
ErickSkrauch
9356ad24b3
Больше не игнорируем JWT InvalidSubjectException
...
UnauthorizedHttpException в User/Component больше не логгируется
2017-12-02 21:04:48 +03:00
ErickSkrauch
b8049e8899
Обновлены тесты для всех форм, что отправляли письма
2017-11-28 14:40:24 +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
6ee40f3fcc
Интегрирован сбор метрик в oauth2 процесс
2017-11-22 22:47:35 +03:00
ErickSkrauch
63db3adca9
Добавлена аннотация для сбора метрик из моделей Yii2 и интегрирована в формы авторизации и регистрации
2017-11-22 22:47:35 +03:00
ErickSkrauch
236f0e7d50
Интегрирован сбор метрик в sessionserver
2017-11-22 22:47:35 +03:00
ErickSkrauch
72f546c827
Добавлена запись метрики времени работы приложения
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
867c1a2b3b
Интергрирован фреймворк для поддержки аспектного программирования
2017-11-13 17:15:24 +03:00
ErickSkrauch
85d109910f
Исправлена ошибка при попытке отправить сообщение в форму обратной связи, будучи залогиненным
2017-11-01 19:56:23 +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
c7cf54f32f
Не логгируем InvalidSubjectException, возникающий из-за перехода на новый формат токенов
2017-10-18 14:42:04 +03:00
ErickSkrauch
58d3fd57a8
Исправлен баг с выдачей наружу внутренних названий пермишенов
2017-10-18 02:37:01 +03:00
ErickSkrauch
18364c625f
Форма восстановления пароля больше не требует решения totp
2017-10-16 00:23:31 +03:00
ErickSkrauch
c855cdb394
Добавлен запрос пароля для запроса инициализации смены email
2017-10-13 18:43:24 +03:00
ErickSkrauch
81bdb1f2af
Базовая реализация реакции сервера на dummy данные.
2017-10-12 01:50:09 +03:00
ErickSkrauch
3143d2fc26
Исправлен парсинг списка скоупов, если передан массив
...
Fixes ACCOUNTS-2NA
2017-10-04 14:42:48 +03:00
ErickSkrauch
7a6c4c3d2b
Теперь из otp secret удаляются значения, которые на письме могут быть спутаны
2017-09-30 02:41:26 +03:00
ErickSkrauch
35e7ae2447
Добавлена возможность получить права на смену ника/пароля пользователя и тесты под это дело.
2017-09-30 01:04:26 +03:00
ErickSkrauch
8e79d1dd1c
Добавлено право на избегание удостоверения личности для внутренних приложений
2017-09-30 00:44:05 +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
928b3aa7fc
Исправлена инициализация ChangeUsernameForm в форме подтверждения E-mail
2017-09-07 22:51:14 +03:00
ErickSkrauch
1169097adb
Форма смены ника теперь принимает аккаунт через конструктор
2017-09-07 22:51:14 +03:00
ErickSkrauch
cb068b9dc0
Все реализации Grant'ов для oAuth перенесены в проект. Форк league/oauth2-client больше не используется
2017-09-07 22:51:07 +03:00
ErickSkrauch
33148a5ac7
Логика oauth процесса вынесена в отдельный класс
2017-09-07 22:21:13 +03:00
ErickSkrauch
2c08130f4e
Поле token в контексте otp токенов переименовано в totp
2017-09-07 02:37:52 +03:00
ErickSkrauch
549db30b2b
Обновлён Spomky-Labs/otphp до 9.0.2 версии
2017-08-08 20:18:44 +03:00
ErickSkrauch
5480e3c8ef
Исправлен рендеринг QR кода для пользователей с короткими username или email
2017-08-08 02:08:34 +03:00
ErickSkrauch
9a852e8052
Рендерим SVG QR код без фиксации его размера, т.к. посчитать правильное разрешение в момент подготовки рендерера не известен размер матрицы
2017-08-08 00:56:24 +03:00
ErickSkrauch
46936db0a7
Fix #344 Баг при попытке зарефрешить accessToken, который окончательно сгнил
2017-08-07 14:05:42 +03:00
ErickSkrauch
f75c241c5f
Не экранируем символы html символы в qr коде, т.к. они всё таки не должны быть экранированы
2017-08-03 14:50:48 +03:00
ErickSkrauch
ec9da1709b
Теперь в поле qr запроса /api/two-factor-auth возвращается строка с svg без base64, начинающаяся с data:image/svg+xml,
2017-08-03 03:02:51 +03:00
ErickSkrauch
411ffe0606
Переводим пробелы (по стандарту OAuth2) в наш scopes delimiter.
2017-07-13 13:44:06 +03:00
ErickSkrauch
400f0e87b9
Теперь при передаче запроса как json, закодированный в теле, он автоматически парсится
2017-05-31 03:10:22 +03:00
ErickSkrauch
d0a7c08b2c
ReCaptcha\Validator теперь повторяет запрос к API Google, если запрос не удался
2017-05-18 17:06:01 +03:00
ErickSkrauch
0cf68a6360
Реорганизованы зависимости для ReCaptcha\Validator
...
Новый способ отключения проверки капчи для функциональных тестов
2017-05-18 02:09:45 +03:00
ErickSkrauch
6abd92e715
Merge branch 'develop' into forgot_password_captcha
...
# Conflicts:
# api/models/authentication/ForgotPasswordForm.php
2017-04-25 21:00:01 +03:00
ErickSkrauch
492a0be8fa
Исправлен путь ко view для шаблона email формы обратной связи
2017-04-25 02:40:35 +03:00
ErickSkrauch
0b61c2d819
Перенос шаблонов писем для смены E-mail в папку компонента email'ов
2017-04-24 19:31:38 +03:00
ErickSkrauch
1d5e0ce2c6
Компонент для email'ов перемещён в common
2017-04-24 19:24:15 +03:00
ErickSkrauch
c0780736ca
Все части, отвечающие за отправку E-mail вынесены в отдельный компонент
2017-04-21 01:42:39 +03:00
ErickSkrauch
00dd8e14b2
Форма запроса восстановления пароля теперь требует разгадки капчи
2017-04-18 19:08:11 +03:00
ErickSkrauch
bc3a4112eb
Добавлен индекс для таблицы oauth_sessions
2017-04-15 23:01:13 +03:00
ErickSkrauch
db1d41449c
Исправлена логика авторизации, чтобы не требовать отсутствия Bearer токена для случаев, когда авторизация не требуется
2017-04-04 14:59:23 +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
f9842acf29
Увеличено время жизни access_token
2017-03-07 19:09:41 +03:00
ErickSkrauch
f86be5688b
Добавлено отдельное сообщение для авторизации в Minecraft, если у аккаунта включена двухфакторная аутентификация
2017-02-23 20:15:03 +03:00
ErickSkrauch
40239b4ee5
Исправлено поведение TOTP валидатора, если Closure для timestamp возвращает null
2017-02-23 02:18:25 +03:00
ErickSkrauch
689919fc17
Логика уничтожения активных сессий вынесена в компонент User
...
Теперь при смене пароля и включении двухфакторной аутентификации также очищаются и сессии Minecraft
2017-02-23 02:01:32 +03:00
ErickSkrauch
7bf8260331
В форму включения двухфакторной аутентификации добавлено поле для фиксации времени запроса
2017-02-22 01:49:24 +03:00
ErickSkrauch
0eedfe91a2
Добавлено окно для валидации TOTP токена на формах входа и восстановления пароля
2017-02-22 01:44:23 +03:00
ErickSkrauch
0798faa7f1
Добавлена возможность указывать длину генерируемого otp_secret
2017-02-21 20:06:04 +03:00
ErickSkrauch
d262e577a6
Исправлено поведение hasJoined операции для legacy протокола
2017-02-13 13:44:14 +03:00
ErickSkrauch
b069ec630d
Исправлена ошибка при попытке рефрешнуть несуществующий oauth refresh token
2017-02-05 15:26:44 +03:00
ErickSkrauch
4695b6e724
Внедрена валидация OTP в процесс восстановления пароля
2017-01-23 23:50:13 +03:00
ErickSkrauch
e82b8aa8cf
В запрос /currect добавлен вывод состояния включённости OTP авторизации
2017-01-23 14:38:21 +03:00
ErickSkrauch
a2e1e9a805
В форму входа внедрена проверка на наличие включённой OTP авторизации
2017-01-23 14:22:20 +03:00
ErickSkrauch
6aab2592b4
Добавлены тесты для включения/отключения OTP
2017-01-23 02:07:29 +03:00
ErickSkrauch
be4c7908b2
Реализованы методы для включения\отключения двухфакторной аутентификации
2017-01-21 02:28:26 +03:00
ErickSkrauch
3b9ef7ea70
Реализован метод для запроса информации для активации двухфакторной аутентификации
...
Добавлен валидатор для TOTP кодов
2017-01-21 02:14:19 +03:00
ErickSkrauch
6f81c38b7f
Реализована форма разблокировки аккаунта
2017-01-05 00:57:04 +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
1e7039c05c
Реализован контроллер для формы запроса на блокировку аккаунта
2016-12-26 19:17:07 +03:00
ErickSkrauch
45775a64af
Добавлены unit-тесты для формы блокировки аккаунта
2016-12-26 19:17:07 +03:00
ErickSkrauch
28b06d51ce
Базовая реализация API для блокировки аккаунта
2016-12-26 19:17:07 +03:00
ErickSkrauch
213782ff62
Добавлена поддержка для "внутренних" scopes, запросить которые во время oauth процесса нельзя
2016-12-26 19:17:07 +03:00
ErickSkrauch
796ca647e4
#274 : упразднена базовая модель KeyConfirmationForm, внедрён обновлённый валидатор EmailActivationKeyValidator
2016-12-23 01:22:51 +03:00
ErickSkrauch
07735a0eed
#274 : переработан валидатор EmailActivationKeyValidator
2016-12-23 00:21:05 +03:00
ErickSkrauch
6d4bef0549
Исправлена проверка авторизации для запроса на refresh-token
2016-12-13 01:10:05 +03:00
ErickSkrauch
f2e6df4022
Исправлено передение авторизатора для OAuth процесса
2016-12-12 00:07:39 +03:00
ErickSkrauch
b00c4ae4fc
Исправлено поведение User\Component::getIdentity(), если в контроллере не было accessFilter
2016-12-11 17:58:08 +03:00
ErickSkrauch
8570cfcbfa
Обновление версии компонента для отправки логов в sentry
2016-12-07 23:22:49 +03:00
ErickSkrauch
4623063074
Merge branch 'develop' into sentry
2016-12-07 21:36:49 +03:00
ErickSkrauch
a8c7118e38
Добавлен Helper для AMQP, который собирает все поступающие сообщения и предоставляет методы для проверки созданных сообщений
...
Исправлен баг в форме ChangeUsernameForm
Исправлен баг с конфигурацией тестов, который не позволял правильно проводить проверки на существование\несуществование моделей
Добавлена поддержка передачи хоста Redis через env переменные в тестах
2016-12-04 19:56:49 +03:00
ErickSkrauch
ffd4a9000f
Реализовано кэширование ответа /api/options
2016-12-02 11:38:53 +03:00
ErickSkrauch
0a0cca0834
Добавлен компонент для кэшиования ответа на уровне nginx
2016-12-02 11:38:35 +03:00
ErickSkrauch
225f2fd3cf
Первичная интеграция логирования ошибок в sentry
2016-12-01 01:16:52 +03:00
ErickSkrauch
5de6fa91c8
Удалён лишний компонент ApiNormalizer
2016-11-30 20:57:30 +03:00
ErickSkrauch
23d079346b
Проверка oAuth авторизации организована через oauth компонент и больше не завязана на реализации внутри моделей приложения
2016-11-30 12:19:10 +03:00
ErickSkrauch
422d5c4fd4
Хранилище access_token вынесено в redis
...
Переписана логика связи моделей для oAuth процесса
2016-11-30 02:19:14 +03:00
ErickSkrauch
4f259a9dc7
Подменены все ключевые сущности на наши
2016-11-29 23:15:56 +03:00
ErickSkrauch
5f07834f45
Исправлено поведение при обновлении устаревшего токена
...
Обновлена логика в компонентах для работы с ключами redis
2016-11-29 01:57:58 +03:00
ErickSkrauch
1e94cda399
Из базы удалена таблица oauth_scopes
2016-11-27 19:19:13 +03:00
ErickSkrauch
744ec9520a
Используем в качестве компонента для соединения с редисом библиотеку Predis
2016-11-27 17:41:39 +03:00
ErickSkrauch
bec00df77b
redirectUri может быть null
2016-11-27 00:56:13 +03:00
ErickSkrauch
f5981f1cd1
Исправлен namespace для исключений
2016-11-27 00:55:43 +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
7249323ec4
В dev режиме больше не бутстрапаем gii
2016-11-20 20:32:54 +03:00
ErickSkrauch
5c02b54010
Обновлена версия amqp controller, удалён gii, очередь событий аккаунтов переведена в устойчивый режим
2016-11-15 22:45:30 +03:00
ErickSkrauch
bfbcf141ee
Больше не возвращаем shouldChangePassword
2016-11-14 20:14:10 +03:00
ErickSkrauch
bc2f1d4ce9
Добавлено запоминание client_redirect_uri при oauth авторизации
2016-11-05 18:02:46 +03:00
ErickSkrauch
fe4e62af39
YII_DEBUG всегда получалось true
2016-11-05 02:53:53 +03:00
ErickSkrauch
a7822bf0f1
Уменьшаем уровень логирования для запросов к authserver и sessionserver
2016-11-05 02:53:25 +03:00
ErickSkrauch
d3a2a37f11
Добавлена проверка, что если приходить nil uuid, то бросается IllegalArgumentException для sessionserver
2016-11-04 19:33:57 +03:00
ErickSkrauch
c324ebe1c6
Формируем время в DateTime для генерации JWT токенов
2016-11-04 12:23:04 +03:00
ErickSkrauch
93f8d170dc
Более точное условие для автоматической смены пароля в форме входа
2016-11-02 00:04:10 +03:00
ErickSkrauch
b6b579b721
Метод save на модели Accounts теперь вызывается без аргумента false, т.к. из модели были удалены валидаторы
2016-11-02 00:02:58 +03:00
ErickSkrauch
3cce2c9bd1
Переименован класс валидатора пароля
2016-11-01 23:59:43 +03:00
ErickSkrauch
91df81f97d
Образован валидатор EmailValidator
2016-11-01 23:57:42 +03:00
ErickSkrauch
94a8e21f27
Образован валидатор UsernameValidator
2016-11-01 23:27:38 +03:00
ErickSkrauch
3b56f3c418
Фиксы после инспекции кода новым инспектором в PHPStorm
...
В некоторых формах отключена валидация при сохранении модели аккаунта
2016-11-01 19:36:39 +03:00
ErickSkrauch
9c8600b2ad
В процесс регистрации добавлена поддержка логики, когда можно перезанять ник или email, который ещё не окончил регистрацию.
...
Валидатор LanguageValidator убран из модели Account
2016-10-27 01:34:51 +03:00
ErickSkrauch
8049d3c774
Фикс для формы смены ника (поломалась логика, когда ник не менялся)
2016-10-27 01:22:39 +03:00
ErickSkrauch
5a88229c2d
Создаём событие о новом нике только при успешной регистрации
2016-10-27 00:07:08 +03:00
ErickSkrauch
c828b8e1e6
Фикс ошибки в форме смены ника, когда старый ник перезатирался на этапе валидации
2016-10-25 22:33:51 +03:00
ErickSkrauch
f3b953607d
Фикс для очереди пула ников
2016-10-25 22:20:44 +03:00
ErickSkrauch
cfd8ba95ef
Отключаем валидацию для форм, где не участвуют email и username
2016-10-25 11:46:31 +03:00
ErickSkrauch
20b0076672
Удаляем уникальный индекс для поля client_token в таблице minecraft_access_keys
2016-10-25 02:43:27 +03:00
ErickSkrauch
1764fb6009
Задание параметров для рекапчи в продакшен режиме через env переменные
2016-10-24 15:14:39 +03:00