Page 94 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 94
94 | Kimlik Doğrulama Altyapılarının Kullanımı
Kullanıcı, Spring uygulamasındaki herhangi bir uca (endpoint) tıkladığında, Spring Security tarafından
sağlanan sso/login ucuna yönlendirilir. Bu uç, KeycloakSpringbootConfigResolver tarafından ele
alınır ve Keycloak’a authorization code akışı ile gönderilir. Örnek yönlendirme url’i şu şekildedir:
http://localhost:8080/realms/myrealm/protocol/openidconnect/auth?response_
type=code&client_id=myclient&redirect_uri=http%3A%2F%2Flocalhost%3A8082%2Fsso%2Flog
in&state=3ca6b64b-f06a-443a-b509- 1bed4991781e&login=true&scope=openid
Kullanıcı, kendisine ait kullanıcı adı ve şifre bilgisini girdikten ve keycloak da bu bilgileri doğruladıktan
sonra, authorization code’unu alarak uygulamaya gider ve burada authorization code – access
token değişimi yapılarak, kullanıcı girişi sağlanmış olur.
7. Özel Ekran Teması Geliştirme
Keycloak ekranları 6 farklı tipe ayrılır ve her tip, tek başına özelleştirilebilir. Bu tipler; account, admin
console, emails, login forms ve welcome page’dir. Welcome hariç hepsi, admin konsolu üzerinden
konfigüre edilir. Welcome page de komut satırı parametreleri ile konfigüre edilir. (kc.bat start-dev
--spi-theme-welcome-theme=custom-theme)
Bir temayı sıfırdan yazmak yerine, varolan Keycloak temalarını genişletmek (extend) mantıklıdır.
Kendi temamızı oluşturabilmek için themes klasörü altında yeni bir klasör oluşturulur (örnek olarak
mytheme. Tema isimlerinde _ dahil hiçbir özel karakter ve sayı olmamalıdır.). Bu klasör altında da,
hangi tip ekranın configure edilmesi istenirse, ona özel klasör oluşturulur. Bu klasör isimleri; account,
admin, common, email, login ya da welcome isimlerinden birisi olmalıdır.
Şekil 3’de keycloak yönetim ekranında realms settings altında mytheme isminde tema gözükür ve
yeni temayı kullanacak şekilde değiştirilebilir.
Şekil 3. Keycloak Tema Seçim Ekranı