Commit Graph

291 Commits

Author SHA1 Message Date
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