Page 93 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 93

Kimlik Doğrulama Altyapılarının Kullanımı | 93




            db-urlhost=${MY_DB_HOST} ya da varsayılan değer ile db-url-host=${MY_DB_
            HOST:mydb}
           Örnek Kullanımı:



            kc.bat start-dev --config-file=/conf/my-custom.conf



           •   Varsayılan keycloak.conf  (/conf klasörü altında) dosyası üzerinden yapılandırılabilir.

           Keycloak  tarafından  sağlanan  tüm  konfigürasyonlara  ya  https://www.keycloak.org/server/all-
           config    sitesi  üzerinden  ya  da  kb.bat  start-dev  –help  komutuyla  erişilebilir.  Bazen  Keycloak’ın

           desteklemediği fakat Quarkus Framework’ün sağladığı davranışı etkinleştirmek için conf altında
           quarkus.properties oluşturulur ve ihtiyacımız olan özellikler (property) tanımlanır. https://quarkus.
           io/guides/all-config ile bu konfigürasyonlara ulaşılabilir. Eğer bir özellik hem quarkus.properties de
           hem de keycloak.conf’da varsa, keyclok’taki çalışır, çünkü üstünlük ondadır.





           5. Keycloak Istemcilerinin Kayıt Edilmesi

           Eklenecek  istemcilerin  ait  olacağı  realm’e  gidilir  ve  clients  tabından  yeni  bir  istemci  yaratılır.

           Keycloak’ın, Apereo CAS gibi kendine ait protokolü yoktur. Istemciler ile olan iletişimini OpenID
           Connect ya da SAML üzerinden yapar. Burada gerekli bilgiler ile istemci oluşturulur.

           Örnek olarak, Spring uygulamasının (geliştirme ortamının 8081 portunda çalışsın) OpenID Connect
           ile  Keycloak  üzerinden  kimlik  doğrulaması  yapılmak  istenirse,  valid  redirect  URI  kısmına  http://
           localhost:8081/* eklenir. Oluşturulan istemci, curl kullanılarak password grant type ile test edilebilir.
           Bu istek sonucunda, access token elde edilmesi beklenir.



            curl -X POST -d “client_id=myclient&username=&password= &grant_type=password” -H
            “Content-Type: application/x---w-form-urlencoded” http:-/localhost:8080/realms/
            myrealm/protocol/openid-connect/token





           6. Spring Framework Entegrasyonu


           Spring Security’nin Keycloak ile entegre edilebilmesi için Keycloak istemcisi olduğunu belirten bir
           kütüphane eklemelidir. (org.keycloak:keycloak-spring-boot-starter)



            keycloak.auth-server-url=http:-/localhost:8080
            keycloak.realm=myrealm
            keycloak.resource=myclient
            keycloak.public-client=true
   88   89   90   91   92   93   94   95   96   97   98