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
efb97a2006
Set access tokens TTL depending on the requested scopes
2019-12-06 19:07:08 +03:00
ErickSkrauch
f0a73f2b7a
Make tokens, created by client credentials grant to live forever
2019-12-06 18:31:04 +03:00
ErickSkrauch
6fb32ec76d
Use libsodium to encrypt all data, related to OAuth2
2019-12-06 14:37:51 +03:00
ErickSkrauch
25f1ca912c
Fix tests
2019-12-05 00:52:36 +03:00
ErickSkrauch
a81ef5cac2
Replace separate minecraft access tokens with JWT
2019-12-04 21:10:15 +03:00
ErickSkrauch
060a4e960a
Handle legacy refresh tokens
2019-12-04 13:40:12 +03:00
ErickSkrauch
a9a56c9e1d
Extract encryption key into the configuration param
2019-12-04 13:24:30 +03:00
ErickSkrauch
e52dbdbf19
Do not include offline_access scope into access_token
2019-11-07 01:12:18 +03:00
ErickSkrauch
22982b319b
Fix all tests
2019-09-24 01:56:32 +03:00
ErickSkrauch
a148da2ecf
Add tests for the legacy tokens
2019-09-23 00:53:13 +03:00
ErickSkrauch
cf62c686b1
Rework identity provider for the legacy OAuth2 tokens [skip ci]
2019-09-22 19:24:22 +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
8a1d7148d0
Implemented public scopes repository. Fix some auth cases [skip ci]
2019-09-13 01:19:03 +03:00
ErickSkrauch
4dc2a3025b
Rewrite tests for OAuth2 validate and auth code complete steps [skip ci]
2019-09-06 02:33:16 +03:00
ErickSkrauch
0b63dc2d84
Upgrade oauth2-server to 8.0.0 version, rewrite repositories and entities, start rewriting tests. Intermediate commit [skip ci]
2019-08-23 11:28:04 +03:00
ErickSkrauch
fff358e038
Merge branch 'jwt-encryption-algorithm' into 'master'
...
Implemented Rs256 jwt encryption algorithm
See merge request elyby/accounts!7
2019-08-02 21:27:07 +00:00
ErickSkrauch
967d8b11a0
Improve tests coverage
2019-08-02 18:32:08 +03:00
ErickSkrauch
f2ab7346aa
Fixed almost everything, but all functional tests are broken at the last minute :(
2019-08-02 03:29:20 +03:00
valik
e23c3aeaed
Implemented change skin scope
2019-07-26 12:49:48 +03:00
ErickSkrauch
3dbf29d34c
Translate all code comments from Russian to English [skip ci]
2019-07-15 01:59:56 +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
3143d2fc26
Исправлен парсинг списка скоупов, если передан массив
...
Fixes ACCOUNTS-2NA
2017-10-04 14:42:48 +03:00
ErickSkrauch
35e7ae2447
Добавлена возможность получить права на смену ника/пароля пользователя и тесты под это дело.
2017-09-30 01:04:26 +03:00
ErickSkrauch
8e79d1dd1c
Добавлено право на избегание удостоверения личности для внутренних приложений
2017-09-30 00:44:05 +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
cb068b9dc0
Все реализации Grant'ов для oAuth перенесены в проект. Форк league/oauth2-client больше не используется
2017-09-07 22:51:07 +03:00
ErickSkrauch
46936db0a7
Fix #344 Баг при попытке зарефрешить accessToken, который окончательно сгнил
2017-08-07 14:05:42 +03:00
ErickSkrauch
411ffe0606
Переводим пробелы (по стандарту OAuth2) в наш scopes delimiter.
2017-07-13 13:44:06 +03:00
ErickSkrauch
bc3a4112eb
Добавлен индекс для таблицы oauth_sessions
2017-04-15 23:01:13 +03:00
ErickSkrauch
f9842acf29
Увеличено время жизни access_token
2017-03-07 19:09:41 +03:00
ErickSkrauch
b069ec630d
Исправлена ошибка при попытке рефрешнуть несуществующий oauth refresh token
2017-02-05 15:26:44 +03:00
ErickSkrauch
79bbc12206
Добавлен контроллер для блокировки аккаунта
...
Добавлен client_credentials grant для oAuth
Рефакторинг структуры OauthScopes чтобы можно было разделить владельца прав на пользовательские и общие (машинные)
Исправлена стилистика кода, внедряются фишки PHP 7.1
2016-12-28 23:25:55 +03:00
ErickSkrauch
213782ff62
Добавлена поддержка для "внутренних" scopes, запросить которые во время oauth процесса нельзя
2016-12-26 19:17:07 +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