Commit Graph

65 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
22ed0942e8 Добавлен функционал очистки устаревших AccountSessions 2017-09-29 02:04:16 +03:00
ErickSkrauch
ec0b25e88d Добавлен функционал очистки устаревших MinecraftAccessKey 2017-09-27 19:52:28 +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
33148a5ac7 Логика oauth процесса вынесена в отдельный класс 2017-09-07 22:21:13 +03:00
ErickSkrauch
9a38481f7d Добавлен внутренний API для получения информации об аккаунте 2017-04-03 14:54:33 +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
28b06d51ce Базовая реализация API для блокировки аккаунта 2016-12-26 19:17:07 +03:00
ErickSkrauch
213782ff62 Добавлена поддержка для "внутренних" scopes, запросить которые во время oauth процесса нельзя 2016-12-26 19:17:07 +03:00
ErickSkrauch
3bde676217 #276: если система скинов недоступна, то генерируем ответ самостоятельно 2016-12-23 01:50:34 +03:00
ErickSkrauch
c029db82a1 #272: удалены все следы использование таблицы oauth_access_tokens 2016-12-23 01:32:44 +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
1e94cda399 Из базы удалена таблица oauth_scopes 2016-11-27 19:19:13 +03:00
ErickSkrauch
744ec9520a Используем в качестве компонента для соединения с редисом библиотеку Predis 2016-11-27 17:41:39 +03:00
ErickSkrauch
bc2f1d4ce9 Добавлено запоминание client_redirect_uri при oauth авторизации 2016-11-05 18:02:46 +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
df1859f0c1 Реализован функционал Mojang API
Исправлена ошибка доступа к authserver из-за перехода на использование хостов, а не доменов
2016-10-02 01:21:54 +03:00
ErickSkrauch
68ce8b3fb6 Добавлена логика HasJoined для сервера авторизации Minecraft
Исправлена ошибка в JoinForm
Добавлено базовое API для общения с сервером системы скинов
2016-09-06 12:56:39 +03:00
ErickSkrauch
34d725abe2 Перенесена логика join операции для современных серверов.
Нужно признать, что перенесена она так себе, но в будущем я обязательно это перепишу.
2016-09-03 01:54:22 +03:00
ErickSkrauch
9c658f5bd9 Тесты для AuthorizationForm и кастомного RequiredValidator
В модуль Authserver добавлены хелперы для логирования
Исправлена ошибка в MinecraftAccessKey
Ускорено тестирование всего приложения
2016-08-29 02:17:45 +03:00
ErickSkrauch
b57b015f66 Первичное портирование логики сервера авторизации с PhalconPHP на Yii2 2016-08-21 02:23:48 +03:00
ErickSkrauch
53d56d6b97 Логика генерации значения первичного ключа для строк вынесена в поведение 2016-08-21 01:22:14 +03:00
ErickSkrauch
59f51451d0 Добавлено запоминание регистрационного IP адреса 2016-08-18 02:56:05 +03:00
ErickSkrauch
cf6c7bc88e Добавлено поле версии принятых правил 2016-08-06 18:52:03 +03:00
ErickSkrauch
a48c1432c6 Реализован функционал получения информации об аккауте после выполнения oAuth авторизации 2016-08-06 16:36:24 +03:00
ErickSkrauch
26b37c2f6b Попытка реализовать отдельный компонент для oAuth авторизации в свой же API. Не тестировал, не проверял работу, просто пушнул, чтобы потом продолжить в дргуом месте. 2016-08-04 01:07:21 +03:00
ErickSkrauch
71d9511d8e Добавлен oauth2 пермишен на запрос E-mail адреса пользователя 2016-08-03 22:05:19 +03:00
ErickSkrauch
ed6bc672cb Написан тест для поведения beforeSave модели EmailActivation 2016-07-27 01:58:06 +03:00
ErickSkrauch
31679b84cb Упразднён контроллер PasswordProtectedController и заменён на валидатор PasswordRequiredValidator
Реорганизованы тесты для ChangeUsernameFormTest
2016-07-25 14:07:14 +03:00
ErickSkrauch
681996740d При попытке запроса смены E-mail теперь происходит проверка, как давно был выполнен предыдущий запрос 2016-07-17 20:46:04 +03:00
ErickSkrauch
dd0c4fcc9e Добавлено событие о изменении email адреса пользователя, вызовы методов для генерации уведомлений внесены внутрь транзакции бд 2016-07-17 18:42:37 +03:00
ErickSkrauch
b26ac7119c Из модели Account удалены лишние методы 2016-07-17 15:27:29 +03:00
ErickSkrauch
8906370bb9 Образован хелпер Error, в который вынесены все коды ошибок.
Подкорректирован errorDict на фронте
2016-06-16 23:32:23 +03:00
ErickSkrauch
55de1c4993 Настроен code coverage для тестов php части 2016-06-16 00:38:43 +03:00
ErickSkrauch
1945a7baec Добавлен роут и логика для обновления access_token по refresh_token'у 2016-05-31 01:03:30 +03:00
ErickSkrauch
bdc96d82c1 Реорганизована выдача JWT токенов
Добавлен механизм сохранения сессий и refresh_token
2016-05-30 02:44:17 +03:00
ErickSkrauch
50439fdaeb Реализованы формы для шагов смены E-mail адреса, покрыты unit-тестами
У EmailActivation добавлено поле $_data и дописано поведение для работы с ним
Упрощено подключение фикстур для EmailActivations
2016-05-16 01:33:19 +03:00
ErickSkrauch
ecd92b8fda Добавлена поддержка запоминания языка для аккаунта
Обновлена минимальная версия Yii2
Удалено немного хлама от Yii2 Advanced
Исправлены некоторые тесты
2016-05-13 12:03:00 +03:00
ErickSkrauch
184ff02240 Изменёна кодировка столбца username в usernames_history для организации бинарного поиска
Из Account вынесена логика аутентификации в дочерний AccountIdentity
Исправлена логика валидации при вызове на неизменённом нике для формы смены ника
2016-05-12 11:50:30 +03:00
ErickSkrauch
15922ba02e Немного приемственности в именовании сущностей 2016-05-10 23:28:04 +03:00
ErickSkrauch
a29cb76cbf Образован trait AccountFinder для поиска пользователя по его нику\мылу
Модель EmailActivation теперь умеет автоматически создавать своих правильных потомков по соответствующему типу
Добавлена форма восстановления пароля и её обработчик (без контроллера)
2016-05-10 22:40:06 +03:00
ErickSkrauch
479f633d3f Добавлена защита от регистрации на сервисы 10-минутной почты 2016-05-01 19:43:28 +03:00
ErickSkrauch
cba769a1ec В проект внедрён RabbitMQ.
Контроллер для работы с RabbitMQ научился создавать типизированные аргументы для $body
Добавлена таблица с историей ников
Добавлена таблица Mojang ников
Добавлена проверка активированности аккаунта в AccountsController
2016-04-23 21:44:10 +03:00