Keycloak Nedir? SSO, IAM, OAuth2, OIDC ve Mikroservis Güvenliği Detaylı Rehber (2025)

Modern uygulamalarda kimlik doğrulama ve yetkilendirme süreçleri artık sadece bir login ekranı değildir. Özellikle mikroservis mimarilerde güvenlik merkezi bir bileşendir.

Kısaca: Bu yazıda Keycloak nedir, Spring Boot entegrasyonu, alternatif IAM çözümleri ve kurumsal kullanım senaryoları detaylı şekilde anlatılmaktadır.

Keycloak Nedir?

Keycloak, açık kaynaklı bir Identity and Access Management (IAM) çözümüdür. SSO, OAuth2, OpenID Connect ve SAML 2.0 desteği sunar.

Keycloak IAM mimarisi

Spring Boot + Keycloak Entegrasyonu

Spring Boot tarafında Keycloak güvenliğini eklemek için temel yapı aşağıdadır:

1) Maven Dependency


<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-spring-boot-starter</artifactId>
    <version>22.0.5</version>
</dependency>

2) application.yml


keycloak:
  realm: myrealm
  auth-server-url: http://localhost:8080
  resource: spring-app
  bearer-only: true
  credentials:
    secret: YOUR_CLIENT_SECRET

3) Security Config


@Configuration
@EnableWebSecurity
public class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);
        http.authorizeRequests()
            .antMatchers("/public/**").permitAll()
            .anyRequest().authenticated();
    }
}


Keycloak vs Auth0 vs Okta

Özellik Keycloak Auth0 Okta
Lisans ✔ Açık Kaynak ❌ Ücretli (Freemium) ❌ Ücretli
Self-hosting ✔ Var ❌ Yok ❌ Yok
SSO ✔ Var ✔ Var ✔ Var
LDAP/AD ✔ Native destek ⚠ Sınırlı ✔ Var
Customization ✔ Çok yüksek Orta Orta

Keycloak Kurulum Adımları (HowTo)

  1. Keycloak server indir ve çalıştır
  2. Realm oluştur
  3. Client ekle (Spring Boot app)
  4. Client secret üret
  5. Spring Boot config ayarla
  6. Token doğrulama test et

Sık Sorulan Sorular

Keycloak ücretsiz mi?

Evet. Keycloak tamamen açık kaynaklıdır ve ücretsiz kullanılabilir.

Keycloak vs Auth0 farkı nedir?

Keycloak self-hosted ve ücretsizdir, Auth0 ise cloud tabanlı ve ücretlidir.

Keycloak mikroservislerde neden kullanılır?

Merkezi authentication ve JWT tabanlı güvenlik sağlar.


Etiketler: Keycloak, Spring Boot, IAM, OAuth2, OIDC, SSO, Microservices Security

Latest Software Developers - Yazılım Blog Yazarı Profil Resmi

Yazar

LatestSoftwareDevelopers

Blog where the most up-to-date software is followed. (En güncel yazılımların takip edildiği blog sitesi)

Devops ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *