**Keycloak**, modern web uygulamaları ve mikroservis mimarileri için geliştirilmiş açık kaynaklı bir **kimlik ve erişim yönetimi** çözümüdür. Kullanıcıların kimlik doğrulama (authentication) ve yetkilendirme (authorization) işlemlerini kolayca yönetmenizi sağlar. Keycloak, tek oturum açma (SSO), sosyal medya hesaplarıyla giriş, kullanıcı yönetimi ve rol tabanlı erişim kontrolü gibi özellikler sunar.
Bu makalede, Keycloak’ın ne olduğunu, temel özelliklerini ve nasıl kurulacağını adım adım anlatacağız.
—
## **Keycloak Nedir?**
Keycloak, kullanıcıların kimlik bilgilerini merkezi olarak yönetmek ve güvenli bir şekilde erişim sağlamak için kullanılan bir araçtır. Özellikle modern uygulamalarda kimlik doğrulama ve yetkilendirme işlemlerini kolaylaştırır. Keycloak, OpenID Connect, OAuth 2.0 ve SAML gibi modern kimlik doğrulama protokollerini destekler.
### **Keycloak’ın Temel Özellikleri**
1. **Tek Oturum Açma (SSO):**
– Kullanıcılar bir kez giriş yaptıktan sonra, Keycloak ile entegre edilmiş tüm uygulamalara tekrar giriş yapmadan erişebilir.
2. **Kimlik Doğrulama ve Yetkilendirme:**
– Kullanıcıların kimliklerini doğrular ve yetkilerini yönetir.
3. **Sosyal Medya Entegrasyonu:**
– Facebook, Google, Twitter gibi sosyal medya hesaplarıyla giriş yapma imkanı sunar.
4. **Kullanıcı Yönetimi:**
– Kullanıcı hesaplarını, rollerini ve izinlerini yönetmek için bir yönetim konsolu sağlar.
5. **OpenID Connect ve SAML Desteği:**
– Modern kimlik doğrulama protokollerini destekler.
6. **Özelleştirilebilir Temalar:**
– Giriş sayfaları ve e-posta şablonları gibi arayüzler özelleştirilebilir.
7. **Yüksek Erişilebilirlik ve Ölçeklenebilirlik:**
– Büyük ölçekli uygulamalar için uygun olacak şekilde tasarlanmıştır.
—
## **Keycloak Kurulumu**
Keycloak’ı kurmak oldukça kolaydır. İşte adım adım kurulum rehberi:
### **1. Java Development Kit (JDK) Kurulumu**
Keycloak, Java tabanlı bir uygulama olduğu için öncelikle JDK kurulumu yapmanız gerekiyor.
1. **JDK İndirme:**
– [Oracle JDK](https://www.oracle.com/java/technologies/javase-downloads.html) veya [OpenJDK](https://openjdk.org/) indirin.
– Keycloak, Java 11 veya üzeri sürümlerle uyumludur.
2. **JDK Kurulumu:**
– İndirdiğiniz JDK kurulum dosyasını çalıştırın ve kurulum sihirbazını takip edin.
3. **JAVA_HOME Ortam Değişkeni Ayarlama:**
– Bilgisayarınızda `JAVA_HOME` ortam değişkenini ayarlayın.
– Windows’ta:
– “Bu Bilgisayar”a sağ tıklayıp “Özellikler” > “Gelişmiş sistem ayarları” > “Ortam Değişkenleri”ne gidin.
– “Sistem değişkenleri” altında `JAVA_HOME` adında yeni bir değişken oluşturun ve değer olarak JDK kurulum yolunu girin (örneğin: `C:\Program Files\Java\jdk-11`).
– `Path` değişkenine `%JAVA_HOME%\bin` ekleyin.
—
### **2. Keycloak’ı İndirme ve Kurma**
1. **Keycloak’ı İndirme:**
– Keycloak’ın resmi sitesine gidin: [https://www.keycloak.org/downloads](https://www.keycloak.org/downloads).
– En son sürümü indirin (örneğin, `keycloak-22.0.0.zip`).
2. **Keycloak’ı Çıkarma:**
– İndirdiğiniz ZIP dosyasını uygun bir klasöre çıkarın (örneğin, `C:\keycloak`).
—
### **3. Keycloak’ı Başlatma**
1. **Keycloak Klasörüne Gidin:**
– Keycloak klasörüne gidin (örneğin, `C:\keycloak\keycloak-22.0.0`).
2. **Keycloak’ı Başlatın:**
– Komut istemini (CMD) açın ve şu komutu çalıştırın:
“`bash
bin\kc.bat start-dev
“`
– Bu komut, Keycloak’ı geliştirme modunda başlatır.
—
### **4. Yönetici Hesabı Oluşturma**
1. **Tarayıcıyı Açın:**
– Tarayıcınızda şu adrese gidin:
“`
http://localhost:8080/
“`
2. **Yönetici Hesabı Oluşturun:**
– Karşınıza bir form çıkacak. Bu formda:
– **Kullanıcı adı** (username) ve **şifre** (password) belirleyin.
– Örneğin, `admin` kullanıcı adı ve `admin123` şifresi verebilirsiniz.
3. **Yönetim Konsoluna Erişim:**
– Hesabı oluşturduktan sonra, yönetim konsoluna erişebilirsiniz:
“`
http://localhost:8080/admin/
“`
—
### **5. Keycloak’ı Üretim Modunda Çalıştırma**
Geliştirme modu, yalnızca test ve deneme amaçlıdır. Üretim ortamında Keycloak’ı çalıştırmak için:
1. **Veritabanı Yapılandırma:**
– Varsayılan olarak Keycloak, gömülü bir H2 veritabanı kullanır. Üretim ortamında PostgreSQL, MySQL gibi daha güçlü bir veritabanı kullanın.
2. **HTTPS Yapılandırma:**
– Üretim ortamında Keycloak’ı HTTPS üzerinden çalıştırın.
3. **Keycloak’ı Başlatın:**
– Üretim modunda başlatmak için şu komutu kullanın:
“`bash
bin\kc.bat start
“`
—
## **Keycloak’ın Kullanım Senaryoları**
1. **Kurumsal Uygulamalar:**
– Şirket içi veya bulut tabanlı uygulamalarda kullanıcı yönetimi ve güvenliği sağlamak.
2. **Mikroservis Mimarileri:**
– Mikroservisler arasında kimlik doğrulama ve yetkilendirme işlemlerini merkezi olarak yönetmek.
3. **E-ticaret Platformları:**
– Müşteri hesaplarını yönetmek ve güvenli ödeme işlemleri sağlamak.
4. **SaaS Uygulamaları:**
– Çoklu kiracılı (multi-tenant) uygulamalarda kullanıcı yönetimi ve erişim kontrolü.
—
## **Sonuç**
Keycloak, modern uygulamalar için güçlü bir kimlik ve erişim yönetimi çözümüdür. Kurulumu kolaydır ve geniş özellikleri sayesinde farklı kullanım senaryolarına uyum sağlar. Geliştirme ve üretim ortamlarında güvenli bir şekilde kullanılabilir.
Daha fazla bilgi için [Keycloak resmi dokümantasyonunu](https://www.keycloak.org/documentation) ziyaret edebilirsiniz.