A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.7 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. package org.ros.chatto;
  2. import java.security.SecureRandom;
  3. import org.modelmapper.ModelMapper;
  4. import org.ros.chatto.security.AuthenticationSuccessHandlerImpl;
  5. import org.springframework.context.MessageSource;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.context.support.ReloadableResourceBundleMessageSource;
  9. import org.springframework.security.core.token.KeyBasedPersistenceTokenService;
  10. import org.springframework.security.core.token.TokenService;
  11. import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
  12. @Configuration
  13. public class BeanConfigurations {
  14. @Bean
  15. public AuthenticationSuccessHandler authenticationSuccessHandler() {
  16. return new AuthenticationSuccessHandlerImpl();
  17. }
  18. @Bean
  19. public ModelMapper modelMapper() {
  20. ModelMapper modelMapper = new ModelMapper();
  21. return modelMapper;
  22. }
  23. @Bean
  24. public MessageSource messageSource() {
  25. final ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
  26. messageSource
  27. .setBasenames("classpath:/messages,file:./config/messages");
  28. messageSource.setUseCodeAsDefaultMessage(true);
  29. messageSource.setDefaultEncoding("UTF-8");
  30. messageSource.setCacheSeconds(5);
  31. return messageSource;
  32. }
  33. @Bean
  34. public TokenService tokenService() {
  35. KeyBasedPersistenceTokenService keyBasedPersistenceTokenService = new KeyBasedPersistenceTokenService();
  36. keyBasedPersistenceTokenService.setPseudoRandomNumberBytes(10);
  37. keyBasedPersistenceTokenService.setSecureRandom(new SecureRandom());
  38. keyBasedPersistenceTokenService.setServerInteger(1);
  39. keyBasedPersistenceTokenService.setServerSecret(":");
  40. return keyBasedPersistenceTokenService;
  41. }
  42. }