2015-04-15 18 views
7

Znalazłem tutorial o wiosennym REST usługi OAuth na https://github.com/royclarkson/spring-rest-service-oauthJak skonfigurować Wiosna bezpieczeństwo sklep OAuth 2.0 klienta do bazy

Ale zastanawiam się, jak skonfigurować klienta zapisany do bazy danych, więc może uda mi łatwo. w tutorialu konfiguracji klient sklepu WEW na klasy OAuth2ServerConfiguration.java

@Override 
    public void configure(ClientDetailsServiceConfigurer clients) 
      throws Exception { 
     // @formatter:off 
     clients.inMemory().withClient("clientapp") 
       .authorizedGrantTypes("password", "refresh_token") 
       .authorities("USER").scopes("read", "write") 
       .resourceIds(RESOURCE_ID).secret("123456"); 
     // @formatter:on 
    } 

Odpowiedz

6

@OhadR dziękuję za odpowiedź, naprawdę appreciete go!

I acctually znaleźć odpowiedź dzięki tym wątku: error in Spring AuthorizationServerConfigurerAdapter when assigning Jdbc datastore to ClientDetailsService

Aby to zrobić, tylko trzeba dwuetapową:

  1. utworzyć tabelę, która reprezentuje clientdetails
CREATE TABLE oauth_client_details (
     client_id VARCHAR(256) PRIMARY KEY, 
     resource_ids VARCHAR(256), 
     client_secret VARCHAR(256), 
     scope VARCHAR(256), 
     authorized_grant_types VARCHAR(256), 
     web_server_redirect_uri VARCHAR(256), 
     authorities VARCHAR(256), 
     access_token_validity INTEGER, 
     refresh_token_validity INTEGER, 
     additional_information VARCHAR(4096), 
     autoapprove VARCHAR(256) 
    ); 
  1. zdefiniowana konfiguracja JDBC
DataSource dataSource = DataSourceBuilder.create() 
    .driverClassName("com.mysql.jdbc.Driver") 
    .url("jdbc:mysql://localhost:3306/gsrestdb").username("***").password("***").build(); 

    clients.jdbc(dataSource); 
+1

Myślę, że musisz utworzyć wszystkie wymienione tutaj tabele: https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src/test/resources/schema.sql, z wyjątkiem tabela ClientDetails – soulmachine

+0

@soulmachine: tak, masz rację Potrzebuję stworzyć schemat tabeli, dzięki za link twardy. – prptn

+0

@prptn Skąd się bierze kod 'DataSourceBuilder.create()'? W której klasie i metodzie? A jak powiedzieć OAuth, aby korzystać z bazy danych? –