Всё ещё запускаете проект мышкой? Тогда этот пост для вас.
На самом деле IDEA умеет стартовать, дебажить и останавливать приложение полностью без кликов мышью. После пары дней привычки вы забудете, где находится зелёная кнопка ▶️.
🔹 Что делает
— Позволяет запускать и останавливать проект, не касаясь мыши
— Работает с любыми конфигурациями: Application, Maven, Gradle, Spring Boot и др.
— Поддерживает горячий перезапуск (rerun) и мгновенный переход к дебагу
🔹 Зачем это нужно
— Ускоряет цикл “правка → запуск → проверка”
— Позволяет фокусироваться на коде, не отвлекаясь на интерфейс
— Особенно удобно при работе на ноутбуке или в tmux-подобном флоу
🔹 Как использовать
▶️ Shift + F10 — запустить последнюю конфигурацию
🐞 Shift + F9 — запустить в режиме отладки
⏹️ Ctrl + F2 — остановить выполнение
#Enterprise
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2🔥2
🔥 Как подключить Keycloak к Spring Boot проекту
Keycloak — это современный open-source Identity Provider от Red Hat, который часто используется в enterprise-проектах для SSO (Single Sign-On), OAuth2 и OpenID Connect. Ниже — пошаговая настройка интеграции Keycloak с Spring Boot 3 и Spring Security 6.
1️⃣ Зависимости
Проверьте, что в проекте есть или добавьте следующие зависимости:
— Spring Web
— Spring Security
— OAuth2 Resource Server
— OAuth2 Client
2️⃣ Разворачиваем Keycloak
Запустите Keycloak через Docker:
После запуска откройте http://localhost:8080, войдите под admin/admin и создайте realm, например demo-realm.
3️⃣ Настройка клиента в Keycloak
В разделе Clients → Create client укажите:
— Client ID: spring-client
— Client Protocol: openid-connect
— Root URL: http://localhost:8081
В разделе Settings:
— Установите Access Type → confidential
— Включите Standard Flow Enabled
— Укажите Redirect URI: http://localhost:8081/login/oauth2/code/keycloak
Сохраните и перейдите на вкладку Credentials — скопируйте Client Secret.
4️⃣ Настройка application.yml
5️⃣ Конфигурация безопасности
Настройте SecurityConfig.java:
🧠 Зачем это нужно:
Keycloak снимает с вас головную боль по хранению паролей, управлению ролями и сессиями. Он интегрируется с LDAP, AD, SAML и десятками внешних OAuth-провайдеров.
🐸 Библиотека джависта
#Enterprise
Keycloak — это современный open-source Identity Provider от Red Hat, который часто используется в enterprise-проектах для SSO (Single Sign-On), OAuth2 и OpenID Connect. Ниже — пошаговая настройка интеграции Keycloak с Spring Boot 3 и Spring Security 6.
Проверьте, что в проекте есть или добавьте следующие зависимости:
— Spring Web
— Spring Security
— OAuth2 Resource Server
— OAuth2 Client
Запустите Keycloak через Docker:
docker run -d \
-p 8080:8080 \
-e KEYCLOAK_ADMIN=admin \
-e KEYCLOAK_ADMIN_PASSWORD=admin \
quay.io/keycloak/keycloak:25.0.2 start-dev
После запуска откройте http://localhost:8080, войдите под admin/admin и создайте realm, например demo-realm.
В разделе Clients → Create client укажите:
— Client ID: spring-client
— Client Protocol: openid-connect
— Root URL: http://localhost:8081
В разделе Settings:
— Установите Access Type → confidential
— Включите Standard Flow Enabled
— Укажите Redirect URI: http://localhost:8081/login/oauth2/code/keycloak
Сохраните и перейдите на вкладку Credentials — скопируйте Client Secret.
server:
port: 8081
spring:
security:
oauth2:
client:
registration:
keycloak:
client-id: spring-client
client-secret: YOUR_CLIENT_SECRET
scope: openid, profile, email
redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
provider:
keycloak:
issuer-uri: http://localhost:8080/realms/demo-realm
Настройте SecurityConfig.java:
@Configuration
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(auth -> auth
.requestMatchers("/", "/public").permitAll()
.anyRequest().authenticated()
)
.oauth2Login(Customizer.withDefaults())
.logout(logout -> logout
.logoutSuccessUrl("/")
.invalidateHttpSession(true)
);
return http.build();
}
}
🧠 Зачем это нужно:
Keycloak снимает с вас головную боль по хранению паролей, управлению ролями и сессиями. Он интегрируется с LDAP, AD, SAML и десятками внешних OAuth-провайдеров.
#Enterprise
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2🔥1