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
274d56aa40
Set expires_in value for issue access token response
2019-12-11 19:44:55 +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
c3ffb08c4a
Cleanup session server module
2019-12-05 01:15:45 +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
72cbf16c97
Merge branch 'master' into oauth_jwt_tokens
...
# Conflicts:
# api/components/OAuth2/Entities/AccessTokenEntity.php
# api/components/OAuth2/Entities/RefreshTokenEntity.php
# api/components/OAuth2/Grants/RefreshTokenGrant.php
# api/components/OAuth2/Storage/SessionStorage.php
# api/components/User/OAuth2Identity.php
2019-12-04 01:17:12 +03:00
ErickSkrauch
46b771a061
Fixes ACCOUNTS-5VE
2019-12-02 22:28:47 +03:00
ErickSkrauch
9557064a97
Fixes ACCOUNTS-5VF
2019-12-02 22:22:51 +03:00
ErickSkrauch
01028cf378
Fixes ACCOUNTS-5VC. Handle the case when there is missing session for access or refresh token
2019-12-02 22:15:52 +03:00
ErickSkrauch
22ef41ac7c
Fixes ACCOUNTS-5V9. Handle case when access token don't have associated account
2019-12-02 21:15:18 +03:00
ErickSkrauch
e52dbdbf19
Do not include offline_access scope into access_token
2019-11-07 01:12:18 +03:00
ErickSkrauch
da318ef2ed
Merge branch 'master' into oauth_jwt_tokens
2019-11-07 00:00:26 +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
29fc267148
Do not delete minecraft access token after its validation
2019-09-01 23:10:47 +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
23a220637c
Define default value for AUTHSERVER_HOST
2019-08-08 02:49: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
6ad66b28cf
Generate keys pair if they aren't exists
2019-08-02 19:16:34 +03:00
ErickSkrauch
967d8b11a0
Improve tests coverage
2019-08-02 18:32:08 +03:00
ErickSkrauch
d9f2b1a8c9
Upgrade PHPUnit to 8. Replace codeception/base with codeception/codeception due to release bug in the base version.
2019-08-02 15:57:17 +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
ErickSkrauch
6bd054e743
Fix some tests
2019-08-01 19:58:18 +03:00
ErickSkrauch
45c2ed601d
Replace emarref/jwt with lcobucci/jwt
...
Refactor all JWT-related components
Replace RS256 with ES256 as a preferred JWT algorithm
2019-08-01 12:17:12 +03:00
valik
b2bd267eda
Removed change skin scope from refresh code
2019-07-31 15:23:01 +03:00
ErickSkrauch
4c2a9cc172
Cleanup User Component, update tests
2019-07-26 17:04:57 +03:00
valik
e23c3aeaed
Implemented change skin scope
2019-07-26 12:49:48 +03:00
valik
445c234360
Added jwt public and private key path params to user component
2019-07-26 11:11:09 +03:00
valik
3f9ee42539
Implemented Rs256 jwt encryption algorithm
2019-07-25 16:29:08 +03:00
ErickSkrauch
3dbf29d34c
Translate all code comments from Russian to English [skip ci]
2019-07-15 01:59:56 +03:00