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
ErickSkrauch
4b6bfa15ec
Фикс бага с повторным добавлением аккаунта в authserver
2016-10-15 17:35:03 +03:00
ErickSkrauch
bafac25baf
Добавлена поддержка авторизации с передачей параметров в теле запроса + тесты под этот кейс
2016-10-15 16:07:03 +03:00
ErickSkrauch
1ff6898c43
Простые шаблоны писем для процесса смены E-mail адреса
2016-10-08 16:24:10 +03:00
ErickSkrauch
1254369d3e
На GitHub подкинули идею, как сделать поддержку http и https одновременно
2016-10-07 17:48:57 +03:00
ErickSkrauch
ad058664db
Фикс получателя для формы обратной связи
2016-10-07 17:45:06 +03:00
ErickSkrauch
862c2d467e
Продублированы роуты для https запросов, пока не ответят в https://github.com/yiisoft/yii2/issues/12691
2016-10-07 02:02:51 +03:00
ErickSkrauch
f193964ea3
Фикс переменных, отвечающих за коды для писем
2016-10-04 01:45:50 +03:00
ErickSkrauch
dea5b05014
Эти ребята теперь в игноре
2016-10-03 11:34:59 +03:00
ErickSkrauch
c162a46e62
Интегрирован шаблон для письма "забыл пароль"
2016-10-03 01:59:24 +03:00
ErickSkrauch
b67a1879fe
Обновлена версия Email Renderer
...
Добавлен компонент для настройки Email Renderer
Добавлен роут в nginx для отображения картинок из Email Renderer
2016-10-02 12:52:17 +03:00
ErickSkrauch
df1859f0c1
Реализован функционал Mojang API
...
Исправлена ошибка доступа к authserver из-за перехода на использование хостов, а не доменов
2016-10-02 01:21:54 +03:00
ErickSkrauch
8120e43bec
Исправлен тест для AccountIdentity
2016-09-19 11:18:52 +03:00
ErickSkrauch
df6d319187
Восстановлен запуск тестов
...
Загрузчик конфигов выделен в отдельный класс
authserverHost выделена в params
Исправлены некоторые common.unit тесты, т.к. наследовались не от того базового класса
2016-09-19 01:01:19 +03:00
ErickSkrauch
54485b2271
Огромный рефакторинг в пользу отказа от механизма environment и использования .env файла
...
Найдено и удалено немного мусора
2016-09-16 01:28:28 +03:00
ErickSkrauch
9d935d84cd
Интеграция письма о регистрации
2016-09-13 14:50:22 +03:00
ErickSkrauch
dd2407e347
Сконфигурировано логирование приложения
2016-09-09 00:39:00 +03:00
ErickSkrauch
d2fd803b0d
Отключаем RateLimiter для запросов, что идут с хоста старого сервера авторизации, но включаем для остальных (фикс для beforeAction)
2016-09-09 00:38:25 +03:00
ErickSkrauch
c2eee9b67d
Добавлен запрос /session/profile
2016-09-08 13:07:43 +03:00
ErickSkrauch
8eb6a595c0
Обновлены роуты в соответствие с тем, как они в итоге будут прописаны в документации
...
В nginx добавлена конфигурация, отвечающая за проксирование сессионных запросов со старого домена
Версия nginx обновлена с 1.9 до 1.11
В тестах сессионного сервера больше не используется генерация url
2016-09-07 17:56:30 +03:00
ErickSkrauch
6e15522140
Добавлен рейт-лимитер для запросов к hasJoined для незарегистрированных серверов
2016-09-06 20:10:42 +03:00
ErickSkrauch
68ce8b3fb6
Добавлена логика HasJoined для сервера авторизации Minecraft
...
Исправлена ошибка в JoinForm
Добавлено базовое API для общения с сервером системы скинов
2016-09-06 12:56:39 +03:00
ErickSkrauch
e8b5e90a91
Немного рефакторинга Join формы для учёта Legacy API
...
Добавлена поддержка чтения данных из POST запроса, если они переданы как RAW json
Исправлен StringHelper::isUuid()
2016-09-05 17:55:38 +03:00
ErickSkrauch
34d725abe2
Перенесена логика join операции для современных серверов.
...
Нужно признать, что перенесена она так себе, но в будущем я обязательно это перепишу.
2016-09-03 01:54:22 +03:00
ErickSkrauch
9371fc32ca
Перенесены тесты со старого authserver, исправлены ошибки в коде
2016-09-01 10:31:43 +03:00
ErickSkrauch
147c84f487
Убрано лишнее звено в вызове имени исключения
2016-08-31 13:35:43 +03:00
ErickSkrauch
1023eed03b
Методы в Authserver AuthenticationController прикрыты verb фильтром
2016-08-31 13:32:51 +03:00
ErickSkrauch
66e266692c
Добавлен кастомный ErrorHandler для форматирования ошибок authserver'а в соответствии с ожиданиями лаунчера
2016-08-31 13:32:14 +03:00
ErickSkrauch
9c658f5bd9
Тесты для AuthorizationForm и кастомного RequiredValidator
...
В модуль Authserver добавлены хелперы для логирования
Исправлена ошибка в MinecraftAccessKey
Ускорено тестирование всего приложения
2016-08-29 02:17:45 +03:00
ErickSkrauch
72a7f743be
Мигрирована логика блокировки аккаунтов
2016-08-22 00:09:14 +03:00