Skip to content

Releases: thephpleague/oauth2-server

8.2.3

03 Dec 21:34
70bb329
Compare
Choose a tag to compare

Added

8.2.2

30 Nov 10:15
Compare
Choose a tag to compare

Fixed

  • Fix issue where the private key passphrase isn't correctly passed to JWT library (PR #1164)

8.2.1

26 Nov 11:19
284c2b5
Compare
Choose a tag to compare

Fixed

  • If you have a password on your private key, it is now passed correctly to the JWT configuration object. (PR #1159)

8.2.0

25 Nov 23:49
8837ed9
Compare
Choose a tag to compare

Added

  • Add a getRedirectUri function to the OAuthServerException class (PR #1123)
  • Support for PHP 8.0 (PR #1146)

Removed

  • Removed support for PHP 7.2 (PR #1146)

Fixed

  • Fix typo in parameter hint. code_challenged changed to code_challenge. Thrown by Auth Code Grant when the code challenge does not match the regex. (PR #1130)
  • Undefined offset was returned when no client redirect URI was set. Now throw an invalidClient exception if no redirect URI is set against a client (PR #1140)

8.1.1

01 Jul 11:35
Compare
Choose a tag to compare

Fixed

  • If you provide a valid redirect_uri with the auth code grant and an invalid scope, the server will use the given
    redirect_uri instead of the default client redirect uri (PR #1126)

8.1.0

29 Apr 22:20
Compare
Choose a tag to compare

Added

  • Added support for PHP 7.4 (PR #1075)

Changed

  • If an error is encountered when running preg_match() to validate an RSA key, the server will now throw a RuntimeException (PR #1047)
  • Replaced deprecated methods with recommended ones when using Lcobucci\JWT\Builder to build a JWT token. (PR #1060)
  • When storing a key, we no longer touch the file before writing it as this is an unnecessary step (PR #1064)
  • Prefix native PHP functions in namespaces with backslashes for micro-optimisations (PR #1071)

Removed

  • Support for PHP 7.1 (PR #1075)

Fixed

  • Clients are now explicitly prevented from using the Client Credentials grant unless they are confidential to conform
    with the OAuth2 spec (PR #1035)
  • Abstract method getIdentifier() added to AccessTokenTrait. The trait cannot be used without the getIdentifier()
    method being defined (PR #1051)
  • An exception is now thrown if a refresh token is accidentally sent in place of an authorization code when using the
    Auth Code Grant (PR #1057)
  • Can now send access token request without being forced to specify a redirect URI (PR #1096)
  • In the BearerTokenValidator, if an implementation is using PDO, there is a possibility that a RuntimeException will be thrown when checking if an access token is revoked. This scenario no longer incorrectly issues an exception with a hint mentioning an issue with JSON decoding. (PR #1107)

8.0.0

13 Jul 18:51
e1dc4d7
Compare
Choose a tag to compare

Added

  • Flag, requireCodeChallengeForPublicClients, used to reject public clients that do not provide a code challenge for the Auth Code Grant; use AuthCodeGrant::disableRequireCodeCallengeForPublicClients() to turn off this requirement (PR #938)
  • Public clients can now use the Auth Code Grant (PR #938)
  • isConfidential getter added to ClientEntity to identify type of client (PR #938)
  • Function validateClient() added to validate clients which was previously performed by the getClientEntity() function (PR #938)
  • Add a new function to the AbstractGrant class called getClientEntityOrFail(). This is a wrapper around the getClientEntity() function that ensures we emit and throw an exception if the repo doesn't return a client entity. (PR #1010)

Changed

  • Replace convertToJWT() interface with a more generic __toString() to improve extensibility; AccessTokenEntityInterface now requires setPrivateKey(CryptKey $privateKey) so __toString() has everything it needs to work (PR #874)
  • The invalidClient() function accepts a PSR-7 compliant $serverRequest argument to avoid accessing the $_SERVER global variable and improve testing (PR #899)
  • issueAccessToken() in the Abstract Grant no longer sets access token client, user ID or scopes. These values should already have been set when calling getNewToken() (PR #919)
  • No longer need to enable PKCE with enableCodeExchangeProof flag. Any client sending a code challenge will initiate PKCE checks. (PR #938)
  • Function getClientEntity() no longer performs client validation (PR #938)
  • Password Grant now returns an invalid_grant error instead of invalid_credentials if a user cannot be validated (PR #967)
  • Use DateTimeImmutable() instead of DateTime(), time() instead of (new DateTime())->getTimeStamp(), and DateTime::getTimeStamp() instead of DateTime::format('U') (PR #963)

Removed

  • enableCodeExchangeProof flag (PR #938)
  • Support for PHP 7.0 (PR #1014)
  • Remove JTI claim from JWT header (PR #1031)

7.4.0

05 May 09:22
2eb1cf7
Compare
Choose a tag to compare

Changed

  • RefreshTokenRepository can now return null, allowing refresh tokens to be optional. (PR #649)

7.3.3

29 Mar 18:20
c7f4998
Compare
Choose a tag to compare

Added

  • Added error_description to the error payload to improve standards compliance. The contents of this are copied from the existing message value. (PR #1006)

Deprecated

  • Error payload will not issue message value in the next major release (PR #1006)

7.3.2

21 Nov 21:46
b71f382
Compare
Choose a tag to compare

Fixed

  • Revert setting keys on response type to be inside getResponseType() function instead of AuthorizationServer constructor (PR #969)