2016-02-01 3 views
0

У меня есть API, написанный в Spring boot, который использует OAuth для авторизации всех запросов, поступающих к нему.Отключить весеннюю загрузку OAuth в выбранном профиле

Я использую Spring OAuth2:

<dependency> 
    <groupId>org.springframework.security.oauth</groupId> 
    <artifactId>spring-security-oauth2</artifactId> 
</dependency> 

И следующие настройки в application.properties:

security.oauth2.client.client-id: xxxx 
security.oauth2.client.client-secret: xxxx 
security.oauth2.client.scope: read,write 

Я бегу API в различных различных профилей ("живой", "развитие" , «постановка» и т. д.), и я хотел бы отключить OAuth в некоторых из них. Это можно сделать без удаления зависимости maven (добавив что-то в application -development.properties, возможно?).

Я не нашел прямого пути, как это сделать до сих пор. Я выбираю контекст программно во время запуска приложения, но это не похоже на весенний способ сделать это.

ответ

0

Добавить @Conditional аннотацию к Configuration-класса, который с аннотацией @EnableOAuth2Sso

+0

У меня нет ни одного класса с этой аннотацией. Кажется, что это прекрасно работает без него ... – Smajl

0

вы можете сделать 3 application-${profile}.properties файлы, такие как

application-live.properties 
application-development.properties 
application-staging.properties 

, то вы можете добавить свойства OAuth в профилях вы только хотите. проверить это link

+0

Я думал об этом так, но если я оставлю конфигурацию в некоторых профилях, и я опускаю их в профиль, в котором я хочу отключить oauth, он возвращается к некоторые автоматически сгенерированные учетные данные по умолчанию и все еще требуют от меня их использования. – Smajl

+0

вы можете добавить @Profile в класс конфигурации с нужными профилями, тогда он не будет загружен для других профилей, например. @Profile ("производство") –

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