Skip to content

Releases: spring-projects/spring-authorization-server

0.2.1

01 Dec 14:31
Compare
Choose a tag to compare

⭐ New Features

  • Allow subclassing OAuth2AuthenticationContext #492
  • Restructure samples #485
  • Update README.adoc #471
  • Customize OAuth2AuthorizationConsent prior to saving #470
  • Make OAuth2ClientAuthenticationToken @transient #450
  • authenticationDetailsSource of OAuth2TokenEndpointFilter should be customizable #448
  • Implement User Info Endpoint #441
  • Make OAuth2AuthorizationConsent customizable #436
  • authenticationDetailsSource of OAuth2TokenEndpointFilter should be customizable #431
  • Implement Client Configuration Endpoint #427
  • Removed an empty statement #421
  • Implement Client Configuration Endpoint #355
  • Implement UserInfo Endpoint #176

🪲 Bug Fixes

  • Missing state parameter in Authorization Consent request throws 500 #503
  • Fix registration access token cannot be deserialized #497
  • Registration access token cannot be de-serialized when calling Client Configuration Endpoint #495
  • Documentation links in README.adoc to Spring Security are broken #494
  • Require code_verifier if code_challenge provided #465
  • JdbcOAuth2AuthorizationService now uses LobCreator in findBy method #464
  • Add support for deserializing LinkedHashSet #460
  • Jackson throws IllegalArgumentException when loading OAuth2Authorization from JdbcOAuth2AuthorizationService #457
  • JdbcOAuth2AuthorizationService.findBy should use LobCreatorArgumentPreparedStatementSetter #455
  • Require code_verifier if code_challenge provided #453
  • Update RegisteredClient.Builder to use getters #451
  • OAuth2 token introspection assuming issuer claim is present #438
  • Client secret double encoding issue when updating an existing registered client #433
  • Refreshed access token is inactive after token revocation #432
  • Fix cancel consent functionality on default consent page #411
  • Cancel consent button does not submit form #393
  • Client secret double encoding issue when updating an existing registered client #389

🔨 Dependency Upgrades

  • Update to jackson-bom 2.12.5 #517
  • Update to Spring Boot 2.5.7 #516
  • Update Reactor to 2020.0.13 #515
  • Update to Spring Security 5.5.3 #514
  • Update to Spring Framework 5.3.13 #513

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

0.2.0

19 Aug 01:13
Compare
Choose a tag to compare

⭐ New Features

  • Use OAuth2AuthenticationException(String errorCode) #402
  • Replace stream usage with for loops #401
  • Polish loopback address validation in DefaultRedirectUriOAuth2AuthenticationValidator #396
  • Validate redirect_uri on dynamic client registration #392
  • JdbcRegisteredClientRepository hashes client secret on save #381
  • Provide capability for customizing client authentication #380
  • Hash RegisteredClient client_secret on save #378
  • Provide configuration for refresh token generator #377
  • Provide configuration for authorization code generator #376
  • Introduce OAuth2AuthenticationValidator #374
  • Add post processor to register ProviderSettings @bean #373
  • Add update support in JdbcRegisteredClientRepository #365
  • Add update support in JdbcRegisteredClientRepository #356

🪲 Bug Fixes

  • Authorization failure should not clear current Authentication #409
  • The JDBC-based sample code does not work properly #385
  • Do not issue refresh token to public client #379
  • Remove use of deprecated ClientAuthenticationMethod's #350
  • Cannot request access token for client with CLIENT_SECRET_BASIC #346
  • OAuth2AuthorizationCodeAuthenticationProvider should not issue refresh token to public client #296

🔨 Dependency Upgrades

  • Update to nimbus-jose-jwt 9.10.1 #408
  • Update to jackson-bom 2.12.4 #407
  • Update to Spring Boot 2.5.3 #406
  • Update Reactor to 2020.0.10 #405
  • Update to Spring Security 5.5.2 #404
  • Update to Spring Framework 5.3.9 #403

⏪ Non-passive

  • Disable Oidc client registration by default #398
  • Move OAuth2AuthorizationCode #395
  • Polish JwtEncoder APIs #391
  • OAuth2ClientAuthenticationToken should support any type of credentials #382
  • Remove Context.of() #375
  • Extract constants from Settings implementations #369
  • Remove OAuth2ErrorCodes2 #368
  • Remove OAuth2RefreshToken2 #367
  • Make Settings implementations immutable #366
  • Use OAuth2Token in OAuth2Authorization #364
  • Rename ClientSettings.requireUserConsent() to requireAuthorizationConsent() #363
  • Remove deprecated code #362
  • Remove OAuth2ParameterNames2 #361
  • Make AuthenticationProvider implementations final #360
  • Make Filter implementations final #359
  • Reduce visibility of default endpoint URI constants #358
  • Move AuthenticationConverter's to web.authentication package #357
  • Rename OAuth2TokenIntrospectionClaimAccessor.getScope() to getScopes() #354

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

0.1.2

09 Jul 14:11
Compare
Choose a tag to compare

⭐ New Features

  • Provide capability for customizing the authorization endpoint #342
  • Update authorization server sample to use jdbc #337
  • Provide sample based on JDBC #329
  • Include WebAuthenticationDetails in token requests #322
  • Provide capability for customizing the token endpoint #319
  • Refresh token grant may issue ID token #318
  • Provide JDBC implementation of OAuth2AuthorizationConsentService #314
  • Provide JDBC implementation of OAuth2AuthorizationConsentService #313
  • Provide JDBC implementation of OAuth2AuthorizationService #304
  • JDBC implementation of RegisteredClientRepository #291
  • Refresh token grant may issue ID token #287
  • Provide configuration for custom Authorization Consent page #283
  • Remember user consent and make consent page configurable #280
  • Introduce integration tests for the sample oauth server #277
  • Provide JDBC implementation of RegisteredClientRepository #265
  • Provide JDBC implementation of OAuth2AuthorizationService #245

🪲 Bug Fixes

  • Add jackson module for authorization server #331
  • Attributes column of the authorization table is to small #328
  • Fix NPE saving public client #327
  • JdbcRegisteredClientRepository throws NPE when saving public client #326
  • OAuth2AuthorizationCodeAuthenticationProvider does not properly deserialize OAuth2Authorization object attributes #324
  • Temporarily fix expires_in for access token response #321
  • Fix authorization code expired check #299
  • OAuth2AuthorizationCodeAuthenticationProvider should check if the code has expired #290
  • Oauth2 Client expects "expires_in" to be a number #281

🔨 Dependency Upgrades

  • Update dependencies for 0.1.2 release #344

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

0.1.1

07 May 19:31
Compare
Choose a tag to compare

⭐ New Features

  • master->main #284
  • Use PasswordEncoder in OAuth2ClientAuthenticationProvider #272
  • Use PasswordEncoder to verify client credentials #271
  • Redirect URI validation for loopback address #244
  • Redirect URI validation for loopback address #243
  • Implement OpenID client registration endpoint #189
  • Implement OAuth 2.0 Server Metadata (RFC 8414) #167
  • Implement Token Introspection Endpoint #161
  • Implement OpenID Connect 1.0 Client Registration Endpoint #57
  • Implement OAuth 2.0 Authorization Server Metadata #54
  • Implement Token Introspection Endpoint #52

🪲 Bug Fixes

  • Sample auth server doesn't work #273
  • Login page should not be configured in OAuth2AuthorizationServerConfigurer #267
  • Scope "openid" should be in access token scopes #252

🔨 Dependency Upgrades

  • Use nimbus-jose-jwt and oauth2-oidc-sdk versions from spring-security #257
  • Align dependencies with the version of Spring Security being used #256
  • Bump Jacoco to 0.8.6 #246

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

0.1.0

12 Feb 03:06
Compare
Choose a tag to compare

⭐ New Features

  • Propagate additional token request parameters #226
  • openid scope should not require user consent #225
  • Set iss claim in Jwt using configured issuer #223
  • Add OAuth2Authorization.id #220
  • Introduce base Authentication for authorization grant #216
  • Add JoseHeader.builder() #215
  • Use configuration from ProviderSettings in OAuth2AuthorizationServerConfigurer #201
  • Use ProviderSettings in OAuth2AuthorizationServerConfigurer #182
  • Allow customizing Jwt claims and headers #173
  • Register SecurityFilterChain instead of WebSecurityConfigurerAdapter #163
  • Implement OpenID Provider Configuration endpoint #143
  • Add client secret POST authentication method support #140
  • Support client authentication method POST #134
  • Implement OpenID Provider Configuration endpoint #55
  • Implement OpenID Connect 1.0 Authorization Code Flow #53

🪲 Bug Fixes

  • OAuth2AccessToken.scopes includes authorized or requested scopes #224
  • InMemoryOAuth2AuthorizationService.save() should support insert and update #222
  • JwkSet endpoint returns empty keys #198
  • token_type_hint should be used as a hint only #188
  • token_type_hint should be used as a hint only #175
  • Unknown token_type_hint should be ignored #174
  • Configured TokenSettings.accessTokenTimeToLive() not used #172
  • Ensure refresh token is not revoked #169
  • Refresh token should not be issued if client is not configured with refresh_token grant type#155 #168
  • Ensure refresh token is not revoked #158
  • Refresh token should not be issued if client is not configured with refresh_token grant type #155
  • Sample not working with Spring Boot 2.4.0 #154
  • Building the project fails #153

🔨 Dependency Upgrades

  • Update to json-path 2.4.0 #239
  • Update to okhttp3:okhttp 3.14.9 #238
  • Update to okhttp3:mockwebserver 3.14.9 #237
  • Update to mockito-core 3.6.28 #236
  • Update to assertj-core 3.18.1 #235
  • Update to junit 4.13.1 #234
  • Update to javax.servlet-api 4.0.1 #233
  • Update to nimbus-jose-jwt 9.1.3 #232
  • Update to oauth2-oidc-sdk 8.23.1 #231
  • Update to Reactor 2020.0.3 #230
  • Update to Spring Security 5.4.2 #229
  • Update to Spring Framework 5.3.3 #228
  • Update to Spring Boot 2.4.2 #227

⏪ Non-passive

  • Improve naming of KeyManager and ManagedKey #105

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

0.0.3

09 Nov 20:36
Compare
Choose a tag to compare

⭐ New Features

  • Reuse client authentication assertion #144
  • Enforce one-time use for authorization code #138
  • Introduce OAuth2Tokens #137
  • Add Refresh Token grant support #128
  • Implement Token Revocation Endpoint #84
  • Implement Token Revocation Endpoint #83
  • Add Refresh Token Grant #50

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

0.0.2

15 Oct 09:14
Compare
Choose a tag to compare

⭐ New Features

  • Provide client configuration settings #117
  • Allow CORS requests to JWK Set endpoint #110
  • Add docs skeleton to the project #107
  • Add PKCE support #93
  • Add support for Proof Key for Code Exchange (PKCE) #45
  • Add Authorization (User) Consent page #42

🪲 Bug Fixes

  • Oauth 2.0 Integration Sample: java.lang.NoSuchMethodError: com.nimbusds.jose.Header.toJSONObject() #122
  • Constrain version for com.nimbusds:nimbus-jose-jwt #113
  • WebSecurityConfigurer @order(100) is broken when Actuator is also present #103

🔨 Dependency Upgrades

  • Update to Spring Boot 2.4.0-M3 #123
  • Set springSecurityVersion to 5.4.+ #119

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

0.0.1

20 Aug 19:02
Compare
Choose a tag to compare

⭐ New Features

  • InMemoryOAuth2AuthorizationService should uniquely identify an OAuth2Authorization #98
  • Add OAuth2AuthorizationServerConfigurer.getEndpointMatchers() #97
  • Introduce JwtEncoder with JWS implementation #96
  • Align modules with Spring Security #95
  • Add @configuration providing default security configuration #91
  • Add integration tests for Authorization Code Grant #89
  • Add client_credentials grant type support #88
  • Copy SpringTestRule #86
  • Add OAuth2AuthorizationServerConfigurer #85
  • Implement JWK Set Endpoint #82
  • Add JwtEncoder to support JWT/JWS #81
  • Added token endpoint implementation #79
  • Add client credentials authentication filter #78
  • Authorization Endpoint filter for Authorization Code flow #77
  • Implement Client Credentials Authentication #72
  • Add in-memory implementation for OAuth2AuthorizationService #71
  • Add support for Client Registration Model and InMemory Client Repository #70
  • Implement authorization_code AuthenticationProvider #68
  • Implement Token Endpoint #67
  • Implement Authorization Endpoint #66
  • Stub out authorization_code grant implementation #65
  • Add support for Client Credentials Grant #51
  • Epic: JWT / JWS / JWK #46
  • Implement Authorization Model / Service #43
  • Epic: Client Authorization Model #41
  • Implement Client Registration Model / Repository #40
  • Implement Client Authentication #39
  • Epic: Access Token Request Exchange #38
  • Epic: Authorization Request Exchange #36
  • JWK endpoint as filter #31
  • Add Resource Server Sample #30
  • Add Authorization Code Grant sample #25
  • Spring Boot sample #23
  • Integrate Gradle Enterprise plugin #20
  • Add a Client Credentials Authentication Filter #5
  • Add Resource Server Sample #4
  • Add JWK Set Endpoint #2
  • Add Empty Spring Boot Sample #1

❤️ Contributors

We'd like to thank all the contributors who worked on this release!