ErickSkrauch
df40f8fc30
Centralize access token verification
2026-11-07 18:15:04 +01:00
ErickSkrauch
db4a292d24
Implemented OIDC support
2026-11-03 02:18:31 +01:00
ErickSkrauch
e9f53b2155
Introduce oauth jwks endpoint
2026-11-02 18:36:01 +01:00
ErickSkrauch
f7f43c1190
Revoke OAuth 2 tokens on account password change.
...
List all authenticated OAuth clients, revoke by deleting
2026-11-02 16:07:53 +01:00
ErickSkrauch
86992565c5
Don't expose internal permissions names as scopes in the JWT tokens and overall improve scopes management
2026-11-02 15:17:40 +01:00
ErickSkrauch
77aa7b0422
Improve security of OAuth flow
2026-11-02 02:43:43 +01:00
ErickSkrauch
26df580e12
Expose counterMax for altcha challenge
2026-10-22 00:25:45 +02:00
ErickSkrauch
5b0c4c6917
Implemented Altcha support
2026-10-19 22:25:05 +02:00
ErickSkrauch
b8c730c207
Add metrics for captcha providers
2026-10-04 00:43:58 +02:00
ErickSkrauch
b88d2cc2f6
Implemented multiple captchas support. Implemented Yandex Smart Captcha support
2026-10-02 13:39:02 +02:00
ErickSkrauch
be4697e6eb
Extract login logics into a separate component. Not quite clean result but enough for upcoming tasks
2025-01-17 21:37:35 +01:00
ErickSkrauch
5ed6f0ce86
Move OAuth module from API to common and solve PHPStan's errors
2024-12-06 01:34:09 +01:00
ErickSkrauch
8a25ff9223
Fix timestamp serialization format for JWT tokens
2024-12-03 18:17:42 +01:00
Octol1ttle and ErickSkrauch
57d492da8a
Upgrade project to PHP 8.3, add PHPStan, upgrade almost every dependency ( #36 )
...
* start updating to PHP 8.3
* taking off!
Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru >
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* dropped this
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* migrate to symfonymailer
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* this is so stupid 😭
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* ah, free, at last.
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* oh, Gabriel.
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* now dawns thy reckoning.
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* and thy gore shall GLISTEN before the temples of man.
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* creature of steel.
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* my gratitude upon thee for my freedom.
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* but the crimes thy kind has committed against humanity
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* Upgrade PHP-CS-Fixer and do fix the codebase
* First review round (maybe I have broken something)
* are NOT forgotten.
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
* Enable parallel PHP-CS-Fixer runner
* PHPStan level 1
* PHPStan level 2
* PHPStan level 3
* PHPStan level 4
* PHPStan level 5
* Levels 6 and 7 takes too much effort. Generate a baseline and fix them eventually
* Resolve TODO's related to the php-mock
* Drastically reduce baseline size with the Rector
* More code modernization with help of the Rector
* Update GitLab CI
---------
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com >
Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru >
2024-12-02 11:10:55 +01:00
ErickSkrauch
0c110213f4
Remove minecraft_access_keys table and all related code
2024-06-14 05:42:35 +02:00
ErickSkrauch
2111e1769f
Introduce an API endpoint to obtain public keys, that can be used to verify access tokens on other services
2024-06-14 04:36:49 +02:00
ErickSkrauch
17109f8eb5
Remove unused HS256 signing algorithm
2024-06-14 03:21:00 +02:00
ErickSkrauch
0a666e1e12
Extract public key from private pem file at runtime
2024-06-14 03:03:10 +02:00
ErickSkrauch
c34a2db063
Add account_info permission to tokens obtained via legacy authserver API [deploy dev]
2022-01-24 12:01:11 +01:00
ErickSkrauch
2a4f29801d
Fixes ACCOUNTS-2. Catch decryption exception for OAuth2 flow
2020-08-23 00:23:36 +03:00
ErickSkrauch
5fbc167708
Fix the case when the redirect_uri is null
2020-06-20 19:10:13 +03:00
ErickSkrauch
3d89e5f94d
Fixes ACCOUNTS-5Z7. Search for legacy oauth session by correct column
2019-12-15 18:01:36 +03:00
ErickSkrauch
22d8971dc5
Fix redirect_uri validation for the AuthCodeGrant
2019-12-13 15:16:45 +03:00
ErickSkrauch
a8e20a9775
Replace custom aud and ely-scopes JWT claims with its public analogues
2019-12-13 13:56:09 +03:00
ErickSkrauch
f06354638e
Disallow to perform oauth2 authentication for applications that have no corresponding type
2019-12-11 14:41:37 +03:00
ErickSkrauch
9da58beccf
Add deprecation notices
2019-12-11 14:24:31 +03:00
ErickSkrauch
2caf0558de
Use paragonie's Base64UrlSafe encoding library
2019-12-11 14:16:11 +03:00
ErickSkrauch
d27070630c
Fix revokation validation. Add additional tests cases
2019-12-10 22:51:11 +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
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
642db2e045
Use libsodium to encrypt data, stored in jwt tokens
2019-12-05 19:37:46 +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
2beacd0827
Add tests for the legacy tokens, fix some tests cases [skip ci]
2019-09-23 01:03:36 +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