Advertisement
Guest User

Untitled

a guest
Feb 6th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. package com.example;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.boot.SpringApplication;
  5. import org.springframework.boot.autoconfigure.SpringBootApplication;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.security.authentication.AuthenticationManager;
  9. import org.springframework.security.core.authority.SimpleGrantedAuthority;
  10. import org.springframework.security.core.userdetails.User;
  11. import org.springframework.security.core.userdetails.UserDetailsService;
  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.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer;
  16. import org.springframework.security.oauth2.provider.ClientDetailsService;
  17. import org.springframework.security.oauth2.provider.client.BaseClientDetails;
  18.  
  19. import java.util.Collections;
  20.  
  21. @SpringBootApplication
  22. public class AuthServerApplication {
  23.  
  24. public static void main(String[] args) {
  25. SpringApplication.run(AuthServerApplication.class, args);
  26. }
  27. }
  28.  
  29. @Configuration
  30. @EnableAuthorizationServer
  31. class OAuth2Config extends AuthorizationServerConfigurerAdapter {
  32.  
  33. @Autowired
  34. private AuthenticationManager authenticationManager;
  35.  
  36. @Override
  37. public void configure(AuthorizationServerEndpointsConfigurer endpoints)
  38. throws Exception {
  39. endpoints.authenticationManager(authenticationManager);
  40. }
  41.  
  42. @Override
  43. public void configure(AuthorizationServerSecurityConfigurer oauthServer)
  44. throws Exception {
  45. oauthServer.tokenKeyAccess("permitAll()");
  46. }
  47.  
  48. @Bean
  49. UserDetailsService userDetailsService() {
  50. return username -> new User(username, username + "pass",
  51. Collections.singleton(
  52. new SimpleGrantedAuthority("USER")
  53. ));
  54. }
  55.  
  56. @Bean
  57. ClientDetailsService clientDetailsService() {
  58. return clientId -> {
  59. BaseClientDetails details = new BaseClientDetails(clientId, "", "openid", "password", "openid");
  60. details.setClientSecret(clientId + "secret");
  61. return details;
  62. };
  63. }
  64. }
  65. /*
  66. curl localhost:8080/oauth/token \
  67. -u acme:acmesecret \
  68. -d username=user \
  69. -d password=userpass \
  70. -d grant_type=password
  71.  
  72. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement