Keycloak Sunucusunu REST API Kullanımı İçin Yapılandırma
İçindekiler:
- Giriş
- Keycloak'ın Yapılandırılması
- Sunucuyla Giriş Yapmak
- Yeni Bir Ream Oluşturma
- JSON Dosyasını Yükleme ve İçe Aktarma
- Kullanıcıların Erişebileceği Uygulamaları Belirleme
- Quarkus Uygulaması İçin Bir İstemci Oluşturma
- İstemci Kimlik Doğrulamasını Etkinleştirme
- Yetkilendirme Eklemek
- İstemci Yetkilendirme Akışları
- Yönlendirme URI'si Ayarları
- İstemci Kapsamları Eklemek
- Rol Oluşturma
- Ream Rollerini Tanımlama
- Kullanıcı Oluşturma
- Kullanıcı Grupları Oluşturma
- Oturumlar ve Etkin Kullanıcılar
- Sistem Etkinlikleri ve Ayarlar
- Kimlik Doğrulama Akışları ve Sağlayıcılar
🔒 Keycloak'ın Yapılandırılması
Bu videoda, Keycloak'ı yapılandırmak için adımları inceleyeceğiz. İlk olarak, sunucuya giriş yapmamız gerekiyor. Varsayılan olarak Keycloak, size "Master" adında bir "ream" sağlar. Bu "ream", örneğin Amazon ya da Microsoft gibi bir organizasyonu temsil eder. Kendi "reams"lerinizi oluşturabileceğiniz için, şu anda bir "ream" oluşturmamız gerekiyor. Ayrıca, yapılacak yapılandırmaların Json dosyası olarak paylaşılabilmesi için bir seçenek bulunmaktadır. Birden fazla geliştirici olduğunda, her geliştiricinin ayrı ayrı yapılandırma yapması gerekmez. Bir geliştirici yapılandırmaları yapar ve bu yapılandırmaları diğer geliştiricilerle paylaşır. Dosya oluşturulur ve bu dosya aracılığıyla gönderilir. Şimdi sıfırdan bir "ream" oluşturalım.
Sunucuyla Giriş Yapmak
Öncelikle, sunucuya giriş yapmalıyız. Giriş yaptıktan sonra sol tarafta "ream"leri görebilirsiniz. Yeni bir "ream" oluşturmak için öncelikle ad vermelisiniz. Ayrıca, "ream" in etkin olması gerekmektedir. Şu anda "ream" oluşturuyoruz ve sol tarafta yeni "ream"i görebilirsiniz. Daha sonra, "clients" sekmesine giderek, uygulamaların listesine erişebilirsiniz. Microsoft örneğindeki gibi her bir uygulama ayrı bir "client" olarak düşünülebilir. Örneğin, Microsoft Teams, Microsoft Outlook gibi ayrı ürünler Microsoft'un organizasyonu altında yer alır. Burada, Quarkus uygulaması için bir "client" oluşturacağız.
İstemci Kimlik Doğrulamasını Etkinleştirme
Oluşturduğumuz "client" için kimlik doğrulamasını etkinleştirmeliyiz. Şu anda yalnızca kimlik doğrulamayı etkinleştiriyoruz, yetkilendirmeyi aktifleştirmiyoruz. İlk adımımız, Quarkus uygulaması içinde yetkilendirmeyi göstermek olacak, daha sonra buraya geçip yetkilendirmeyi aktifleştireceğiz.
Yetkilendirme Eklemek
"clients" sekmesine döndüğümüzde, Quarkus arka uç uygulaması için bir "client" oluşturduk. Şimdi, bu "client" için yetkilendirmeyi eklemeliyiz. Yetkilendirmeyi etkinleştirmezsek, Keycloak'ı kullanmanın pek bir anlamı olmaz. Öyleyse, bunu etkinleştirmek daha iyidir. Kimlik doğrulama akışlarına bakarak yetkilendirme akışlarını görebiliriz. Mevcut olan standard ve direkt erişim akışları bizim için ilgili olanlardır. Standard akışı, Keycloak'un giriş şablonuna yönlendirme yaparak çalışırken, direkt erişim akışı genellikle "rest" API çağrıları için kullanılır. Ben "rest" API çağrılarını uygulayacağım, bu yüzden bunu kullanmamız gerekecek.
Yönlendirme URI'si Ayarları
Sonraki adımda, geçerli bir yönlendirme URI'sine ihtiyacımız olacak. Quarkus uygulamamız yerelde olacak ve port 8080'de çalışacak, bu yüzden onu seçiyoruz. Diğer özelliklere ihtiyacımız olmadığı için diğer ayarları kaydettik. İstemciler için erişime izin vermek istediğiniz uygulama URI'lerini belirtmek için "web origins" bölümünü kullanabilirsiniz. Güncel bir uygulama için belirli URI'ler sağlamanız gerekebilir, ancak bu örnekte "localhost:8080" şeklinde ayarlayacağız.
İstemci Kapsamları Eklemek
"lients" sekmesine döndüğünüzde, Quarkus arka uç uygulaması için bir "client" oluşturduk. Ayrıca, bu "client" için kapsamlar ekleyebiliriz. Kapsamları belirtmezsek, varsayılan olarak "Quarkus - be dedicated" isimli bir kapsam kullanılır. Bu kapsam, erişim belirteçleri oluşturulduğunda erişim denetimine hangi rol bilgilerinin dahil edileceğini belirtir. Şu anda sadece bu kadar bilgiyi saklayacağız.
Rol Oluşturma
Rol oluşturabilirsiniz. Bu "client" için belirli roller sağlamak isterseniz, yeni "client" rolleri ekleyebilir veya yeni "client" kapsamları ekleyebilirsiniz. Ancak, belirli bir "client" kapsamı belirtmezseniz, varsayılan "client" kapsamı olan "Quarkus - be dedicated" kullanılır.
Ream Rollerini Tanımlama
"Ream" rolleri, tüm organizasyon için küresel rollerdir ve bu "ream" tarafından tanımlanan herhangi bir "client" tarafından kullanılabilir. "Clients" sekmesinde belirtilen roller "client" özgü rollerdir. Kullanıcılara erişim vermek için "client" rolleri kullanılırken, tüm organizasyon çalışanlarına erişim sağlamak için "ream" rollerini kullanabilirsiniz.
Kullanıcı Oluşturma
Uygulamaya erişimi olan kullanıcıların listesini görebilirsiniz. Burada yeni bir kullanıcı oluşturabilirsiniz. Kullanıcı oluşturduğunuzda, kullanıcı adını ve kimlik bilgilerini (şifre) belirtmelisiniz. Kullanıcıya varsayılan bir rol atanacaktır.
Kullanıcı Grupları Oluşturma
Kullanıcıları gruplar halinde organize etmek isterseniz, burada yeni bir grup oluşturabilir ve kullanıcıları bu gruba ekleyebilirsiniz.
Oturumlar ve Etkin Kullanıcılar
Bu bölüm, kullanıcılar için oturumlar ve etkin oturum açan kullanıcıların listesini gösterir.
Sistem Etkinlikleri ve Ayarlar
Bu bölümde, sistemle ilgili etkinlikleri ve ayarları görebilirsiniz. Bu videoda ele alınmayan konuları içerir.
Kimlik Doğrulama Akışları ve Sağlayıcılar
Bu bölümde, kimlik doğrulama akışlarını ve sağlayıcıları belirleyebilirsiniz. Yeni bir akış oluşturarak özelleştirebilirsiniz.
(Bitirme Bölümü) Keycloak hakkında bazı çekirdek API'larına değineceğiz.