- removed usage of
org.springframework.util.Base64Utils
since it is deprecated now - cookie value was not url-decoded (fixes #30)
- requires Spring Security 6.0+
- requires Jakarta Servlet™ 6.0 / Jakarta EE 9+ (
jakarta.*
Namespace) - requires Java 17+
- fixed maven warning
The POM for de.sephiroth-j:spring-security-ltpa2:jar:1.1.0 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
- Allow to change the default behaviour when an authentication failure occurs (Web Servlet only) (fixes #3)
Ltpa2Configurer
will now also find itsUserDetailsService
if it was provided as a bean
- do not expose reason of the
AuthenticationException
as response message when authentication failed (Web Servlet only)
- Spring Security 5.1 is at least required
Ltpa2Filter
will now returnFORBIDDEN
instead ofUNAUTHORIZED
when there was a problem with the token or the user was not found. This corresponds more to the HTTP specification and matches the default behavior when no token was given at all.- The dependencies on Spring Security and
slf4j-api
are no longer optional - onlyreactor-core
is optional as it is only required for the reactive stack.
- Support the Reactive Stack with
Ltpa2AuthConverter
andLtpa2AuthManager
check the README for the details - Emit a warning when
allowExpiredToken
is enabled.
- made most of the methods in
Ltpa2Utils
public
- fix:
Ltpa2Configurer
did not callafterPropertiesSet
on theLtpa2Filter
instance after all properties where set which could lead to runtime errors - other smaller fixes and increased test coverage
- replaced
lombok.NonNull
withorg.springframework.lang.NonNull
- ensure "expire" and "user" attributes are not empty when set
- This release fixes an issue with different timezones when converting the expire attribute from unix timestamp to
LocalDateTime
and back.
- allow custom header name
- update examples / usage page
- do not assume a fixed length for the private exponent and read its length from the private-exponent-length-field
afterPropertiesSet()
did not allow an empty value forheaderValueIdentifier
although it is allowed
initial release