class DefaultAuthenticationService implements AuthenticationService {

    @Override
    public String anonymousToken() {
        final DateTime now = dateTimeService.now();

        return Jwts.builder()
            .setSubject("anonymous")
            .setId("b5a2918e-bd3f-48f5-8437-daf40fd3f323")
            .setIssuedAt(now.toLocalDateTime().toDate())
            .setExpiration(dateTimeService.plusDaysAsDate(now, TOKEN_INTERVAL_DAYS))
            .signWith(SignatureAlgorithm.HS256, JwtFilter.SECRET_KEY)
            .compact();
    }

    @Autowired public  DefaultAuthenticationService(final UserService userService, final DateTimeService dateTimeService);

}