Из следующего комментария, найденного на this :
В более широком смысле: возможно, существуют поставщики аутентификации, которым требуются учетные данные даже после аутентификации сеанса, или, возможно, существуютдругие случаи использования, где наличие учетных данных необходимо для какой-то другой цели, но (с моей наивной точки зрения) кажется, что учетные данные пользователя никогда не нужны после успешного завершения аутентификации, поэтому, возможно, все менеджеры аутентификации должны удалить учетные данные из экземпляров аутентификации, независимо оттип используемого токена / провайдера?
И из того, что я вижу в текущих исходных кодах , поведение по умолчанию таково, что даже вы возвращаете UsernamePasswordAuthenticationToken
из AbstractUserDetailsAuthenticationProvider
затем он очень скоро вызовет UsernamePasswordAuthenticationToken#eraseCredentials()
, чтобы снова установить для учетных данных значение NULL.
Поэтому я бы сказал, что довольно безопасно возвращать аутентификацию с учетными данными NULL, если вам не требуется использовать учетные данные пользователя после успешной аутентификации.