Commit Graph

45 Commits

Author SHA1 Message Date
ErickSkrauch
b904d5d314
Implemented features to revoke access for previously authorized OAuth 2.0 clients 2020-09-30 20:30:04 +03:00
ErickSkrauch
fb452901b8 Rework the webhooks table, allow to update exists webhooks 2020-06-14 01:21:19 +03:00
ErickSkrauch
0183e54442
Implemented account deletion. Not all cases covered with tests [skip ci] 2020-06-12 00:27:02 +03:00
ErickSkrauch
666213afc7 Rework email_activation model, get rid of behaviors, use json column to store additional data 2019-12-21 01:23:58 +03:00
ErickSkrauch
016a193263 Introduce revokation mechanism 2019-12-10 01:38:09 +03:00
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
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
b20825a051 Update ely/php-code-style and run updated CS fixer 2019-02-26 02:26:02 +03:00
ErickSkrauch
a0d88e8a8f Allow any valid locale for account lang 2018-07-08 22:21:33 +03:00
ErickSkrauch
6751eb6591 Implemented webhooks database structure and console command register webhooks 2018-07-07 15:01:18 +03:00
ErickSkrauch
02ea7346a8 Implemented PHP-CS-Fixer support 2018-04-17 23:47:25 +03:00
ErickSkrauch
673429e577 Implementation of the backend for the OAuth2 clients management 2018-02-28 01:27:35 +03:00
ErickSkrauch
e3a99f04fe Fixes ACCOUNTS-37R 2018-01-02 20:22:56 +03:00
ErickSkrauch
d2f3a05b31 Переход на кодировку utf8md4_unicode_ci 2017-12-23 00:32:36 +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
bc3a4112eb Добавлен индекс для таблицы oauth_sessions 2017-04-15 23:01:13 +03:00
ErickSkrauch
3b9ef7ea70 Реализован метод для запроса информации для активации двухфакторной аутентификации
Добавлен валидатор для TOTP кодов
2017-01-21 02:14:19 +03:00
ErickSkrauch
79bbc12206 Добавлен контроллер для блокировки аккаунта
Добавлен client_credentials grant для oAuth
Рефакторинг структуры OauthScopes чтобы можно было разделить владельца прав на пользовательские и общие (машинные)
Исправлена стилистика кода, внедряются фишки PHP 7.1
2016-12-28 23:25:55 +03:00
ErickSkrauch
c029db82a1 #272: удалены все следы использование таблицы oauth_access_tokens 2016-12-23 01:32:44 +03:00
ErickSkrauch
1e94cda399 Из базы удалена таблица oauth_scopes 2016-11-27 19:19:13 +03:00
ErickSkrauch
67cbf2a502 Добавлен индекс для accounts.uuid 2016-11-04 18:49:16 +03:00
ErickSkrauch
696bbaea4c Админка теперь тоже авторизуется через Аккаунты 2016-10-30 01:35:04 +03:00
ErickSkrauch
20b0076672 Удаляем уникальный индекс для поля client_token в таблице minecraft_access_keys 2016-10-25 02:43:27 +03:00
ErickSkrauch
df1859f0c1 Реализован функционал Mojang API
Исправлена ошибка доступа к authserver из-за перехода на использование хостов, а не доменов
2016-10-02 01:21:54 +03:00
ErickSkrauch
b57b015f66 Первичное портирование логики сервера авторизации с PhalconPHP на Yii2 2016-08-21 02:23:48 +03:00
ErickSkrauch
59f51451d0 Добавлено запоминание регистрационного IP адреса 2016-08-18 02:56:05 +03:00
ErickSkrauch
3e4573027c В oauth приложения добавлено Ely.by 2016-08-08 22:20:24 +03:00
ErickSkrauch
cf6c7bc88e Добавлено поле версии принятых правил 2016-08-06 18:52:03 +03:00
ErickSkrauch
a48c1432c6 Реализован функционал получения информации об аккауте после выполнения oAuth авторизации 2016-08-06 16:36:24 +03:00
ErickSkrauch
71d9511d8e Добавлен oauth2 пермишен на запрос E-mail адреса пользователя 2016-08-03 22:05:19 +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
cba769a1ec В проект внедрён RabbitMQ.
Контроллер для работы с RabbitMQ научился создавать типизированные аргументы для $body
Добавлена таблица с историей ников
Добавлена таблица Mojang ников
Добавлена проверка активированности аккаунта в AccountsController
2016-04-23 21:44:10 +03:00
ErickSkrauch
d9a218e075 Добавлено запоминание последнего изменения пароля, удалено поле auth_key, поправлена загрузка фикстур для функциональных тестов 2016-03-12 00:55:46 +03:00
ErickSkrauch
1c6ba30abf Протестирована логика подписи access_token и refresh_token, добавлены базовые скоупы, подчищен проект 2016-02-23 00:49:46 +03:00
ErickSkrauch
f5f93ddef1 Реализована логика oAuth авторизации приложений, добавлен Redis, удалены лишние тесты, пофикшены старые. 2016-02-14 20:50:10 +03:00
ErickSkrauch
7e90f1838e Код модели подтверждения через email теперь является первичным ключом тамблицы
Реализована форма подтверждения email, обмазана тестами
Слегка отрефакторена форма регистрации и авторизации в пользу выноса части логики в общего родителя
Проект зачищен от стандартных тестовых параметров
Пофикшены методы доступа к API
2016-01-21 00:14:29 +03:00
ErickSkrauch
44aaea2c08 Отрефакторены тесты
Удалено тестовое окружение acceptance
Удалена часть потенциально ненужных тестов
Добавлена логика для формы регистрации
Добавлена таблица для хранения ключей активации по E-mail
Добавлены тесты для формы регистрации
Реорганизован роутинг
Добавлен компонент для ReCaptcha2
2016-01-15 12:21:27 +03:00
ErickSkrauch
45c31dfbbe Добавлено поле username в модель Account, скорретирована форма входа и её тесты 2016-01-04 18:31:14 +03:00
ErickSkrauch
7b650e2654 Описана базовая миграция, добавлена модель аккаунта, добавлена модель авторизации, написаны первичные тесты для этой модели, добавлен модуль авторизации, настроен базовый контроллер. Короче много чего сделано 2016-01-03 03:18:37 +03:00
ErickSkrauch
841303b8ab Инициализировано Yii2 приложение, выпилены лишние части, накинуты чуточку нужных 2016-01-02 16:43:18 +03:00