2017-01-31 20 views
0

В моем приложении загрузки Spring я использую google oauth2 для входа пользователей из своей учетной записи gmail. Я получил и установил идентификатор, секрет и область действия клиента, используя данные моей учетной записи и протестировал программу.
Но теперь мне нужно запустить это в отдельной среде, поэтому все жестко закодированные конфигурации должны исчезнуть.
Я добавил идентификатор клиента, seceret и объем в моем application.properties файла следующим образом,
Я установил свойства oauth2 в application.properties, как их использовать в коде?

security.oauth2.client.id= 5******-5**bd***a6.apps.googleusercontent.com 
security.oauth2.client.client-secret=m******qb***H 
security.oauth2.client.scope[0]=https://www.googleapis.com/auth/admin.directory.user.readonly 

Теперь, как использовать эти свойства в моем Java классе. для например

public static String getToken() throws Exception { 

    String clientId = "5******-5**bd***a6.apps.googleusercontent.com"; 
    String clientSecret = "m******qb***H"; 
    String scope = "https://www.googleapis.com/auth/admin.directory.user.readonly "; 

    AuthorizationCodeFlow flow= 
      new AuthorizationCodeFlow.Builder(BearerToken.authorizationHeaderAccessMethod(), 
        new NetHttpTransport(), 
        new JacksonFactory(), 
        new GenericUrl(GoogleOAuthConstants.TOKEN_SERVER_URL), 
        new BasicAuthentication(clientId, clientSecret), 
        clientId, 
        GoogleOAuthConstants.AUTHORIZATION_SERVER_URL) 
        .setScopes(Collections.singleton(scope)).build(); 

Я хочу создать класс конфигурации и получить идентификатор, секрет, значение Scope из файла .properties, а затем использовать их здесь. Все это должно быть сделано с использованием Spring не по чтению файла пожалуйста.

ответ

0

Вы можете использовать @value аннотацию, как показано ниже, чтобы прочитать свойства

@Value("${security.oauth2.client.id}") 
private String clientId; 

 Смежные вопросы

  • Нет связанных вопросов^_^