AuthorizationServerConfig.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package com.yihu.base.security;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.data.redis.connection.RedisConnectionFactory;
  6. import org.springframework.security.authentication.AuthenticationManager;
  7. import org.springframework.security.core.token.TokenService;
  8. import org.springframework.security.core.userdetails.UserDetailsService;
  9. import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  10. import org.springframework.security.crypto.password.PasswordEncoder;
  11. import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
  12. import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
  13. import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
  14. import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
  15. import org.springframework.security.oauth2.provider.ClientDetailsService;
  16. import org.springframework.security.oauth2.provider.token.TokenStore;
  17. import org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore;
  18. import javax.sql.DataSource;
  19. /**
  20. * Created by chenweida on 2017/12/4.
  21. */
  22. @Configuration
  23. @EnableAuthorizationServer //开启授权服务器
  24. public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
  25. @Autowired
  26. private AuthenticationManager authenticationManager;
  27. @Autowired
  28. private UserDetailsService userDetailsService;
  29. @Autowired
  30. private ClientDetailsService clientDetailsService;
  31. @Autowired
  32. private DataSource dataSource;
  33. @Autowired
  34. private RedisConnectionFactory redisConnectionFactory;
  35. @Autowired
  36. private PasswordEncoder passwordEncoder;
  37. @Override
  38. public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
  39. endpoints.authenticationManager(authenticationManager)
  40. .userDetailsService(userDetailsService)
  41. .tokenStore(tokenStore());
  42. }
  43. @Override
  44. public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
  45. clients.jdbc(dataSource).passwordEncoder(passwordEncoder).clients(clientDetailsService);
  46. }
  47. @Bean
  48. TokenStore tokenStore() {
  49. RedisTokenStore redisTokenStore = new RedisTokenStore(redisConnectionFactory);
  50. return redisTokenStore;
  51. }
  52. }