Summary

Clarify Exception IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null

Actual Behavior

java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
    at org.springframework.util.Assert.notNull(Assert.java:115)
    at org.springframework.util.Assert.notNull(Assert.java:126)
    at org.springframework.security.web.authentication.preauth.PreAuthenticatedGrantedAuthoritiesUserDetailsService.loadUserDetails(PreAuthenticatedGrantedAuthoritiesUserDetailsService.java:57)
    at org.springframework.security.web.authentication.preauth.PreAuthenticatedGrantedAuthoritiesUserDetailsService.loadUserDetails(PreAuthenticatedGrantedAuthoritiesUserDetailsService.java:48)
    at org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider.authenticate(PreAuthenticatedAuthenticationProvider.java:103)
    at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174)
    at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:199)
    at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter$AuthenticationManagerDelegator.authenticate(WebSecurityConfigurerAdapter.java:469)
    at com.satukancinta.auth.AuthController.loginFacebook(AuthController.java:333)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.__invoke(DelegatingMethodAccessorImpl.java:43)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
    at java.lang.reflect.Method.invoke(Method.java:498)

Expected Behavior

Exception should say IllegalArgumentException: [Assertion failed] - PreAuthenticatedAuthenticationToken.getDetails() is required; it must not be null

Version

Spring Security 4.1.3

Comment From: eleftherias

This was fixed as part of #4193. The message now says token.getDetails() cannot be null.