Keycloak IdP
Giriş
Tek oturum açma (Single Sign-on, SSO), kullanıcıların yalnızca bir kez oturum açıp yeniden kimlik doğrulaması yapmadan birden fazla uygulamaya/hizmete erişmesini sağlayan bir teknolojidir.
Bir web portalı birkaç büyük bağımsız bölüm (forum, sohbet, bloglar vb.) içeriyorsa, kullanıcı hizmetlerden birinde kimlik doğrulamasından geçebilir ve kimlik bilgilerini birkaç kez girmeden diğer tüm hizmetlere otomatik olarak erişebilir.
SSO her zaman iki uygulamanın birlikte çalışmasıyla sağlanır: Kimlik Sağlayıcı (Identity Provider) ve Hizmet Sağlayıcı (Service Provider) ("IdP" ve "SP" olarak da anılır). ONLYOFFICE SSO yalnızca SP işlevini uygular. Birçok farklı sağlayıcı IdP olarak görev yapabilir, ancak bu makalede Keycloak uygulaması ele alınmaktadır.
Keycloak'ta IdP oluşturma
-
Keycloak'a yönetici olarak oturum açın.
-
Manage realms bölümüne gidin ve bağlantının yapılandırılacağı realm'i seçin.
-
Clients bölümüne gidin ve Create client düğmesine tıklayın.
-
Açılan sayfada şunları ayarlayın: Client type alanında SAML seçeneğini seçin. Client ID alanına
https://myportal-address.com/sso/metadatadeğerini girin ve myportal-address.com yerine çalışma alanınızın alan adını yazın. Name ve Description alanlarına istediğiniz bir ad ve açıklama girin.
-
Next düğmesine tıklayın.
-
Aşağıdaki alanları doldurun:
notmyportal-address.comyerine çalışma alanınızın alan adını yazın.Application Details Root URL https://myportal-address.com/ssoHome URL https://myportal-address.com/ssoValid redirect URIs https://myportal-address.com/sso/slo/callbackhttps://myportal-address.com/sso/acsValid post logout redirect URIs https://myportal-address.com/sso/slo/callbackMaster SAML Processing URL https://myportal-address.com/sso/acs
Advanced sekmesinde aşağıdaki alanları doldurun:
Assertion Consumer Service POST Binding URL https://myportal-address.com/sso/acsAssertion Consumer Service Redirect Binding URL https://myportal-address.com/sso/acsLogout Service POST Binding URL https://myportal-address.com/sso/slo/callbackLogout Service Redirect Binding URL https://myportal-address.com/sso/slo/callback
-
Save düğmesine tıklayın.
-
SAML capabilities bölümünde Name ID format değerini email olarak ayarlayın.
-
Signature and Encryption bölümünde Sign Assertions seçeneğini etkinleştirin ve bir signature algorithm seçin: RSA_SHA1, RSA_SHA256 veya RSA_SHA512.
-
Save düğmesine tıklayın.
-
Client Scopes bölümüne gidin ve çalışma alanınızın adını taşıyan
https://myportal-address.com/sso/metadata-dedicatedbağlantısına tıklayın.Add predefined mappers düğmesine tıklayın ve açılan pencerede aşağıdaki mapper'ları seçin:
- X500 email
- X500 givenName
- X500 surname
Ardından Add düğmesine tıklayın.

ONLYOFFICE SP'yi yapılandırma
-
ONLYOFFICE Apps çalışma alanına Yönetici olarak oturum açtığınızdan emin olun, Ayarlar menüsüne gidin, Entegrasyon bölümünü seçin ve Tek Seferlik Giriş sekmesini açın.
-
Tekli Oturum Açma Kimlik Doğrulamasını Etkinleştir anahtarını kullanarak SSO'yu etkinleştirin ve
https://<keycloakurl>/realms/<realm_name>/protocol/saml/descriptorbağlantısını IdP Meta Veri XML URL'si alanına yapıştırın.<keycloakurl>ve<realm_name>yerine Keycloak sunucunuzun adresini ve bağlantının oluşturulduğu realm'in adını yazın. Oluşan bağlantıya bir tarayıcıdan erişilebilmelidir.
-
IdP meta verilerini yüklemek için yukarı oklu düğmeye basın. ONLYOFFICE hizmet sağlayıcı ayarları formu, Keycloak IdP'den alınan verilerle otomatik olarak doldurulur.
-
Keycloak'ta belirtilenle aynı Varsayılan İşaret Doğrulama Algoritması değerini seçin.
-
NameId Biçimi değerini emailAddress olarak değiştirin.
-
Şimdi SP Sertifikaları bölümünde bir sertifika oluşturmanız gerekir. Bunun için Sertifika ekle düğmesine tıklayın.
-
Açılan modal pencerede Yeni Kendinden İmzalı Sertifika Oluştur bağlantısına tıklayın ve Şunun için kullan listesinde İmzalama ve şifreleme seçeneğini belirleyin. Sertifikayı kaydetmeden önce Genel Sertifika metnini panoya kopyalayıp bir dosyaya kaydedin (Keycloak için gerekecektir), ardından Tamam düğmesine tıklayın.

-
Nitelik Haritalama bölümüne gidin ve niteliklere aşağıdaki değerleri atayın:
- First name: urn:oid:2.5.4.42
- Last name: urn:oid:2.5.4.4
- Email: urn:oid:1.2.840.113549.1.9.1
Gelişmiş Ayarlar bölümünde, varsayılan kimlik doğrulama sayfasını gizlemek ve otomatik olarak SSO hizmetine yönlendirmek için Kimlik doğrulama sayfasını gizle seçeneğini işaretleyebilirsiniz.
Varsayılan kimlik doğrulama sayfasını geri yüklemeniz gerekirse (IdP sunucunuz çalışmazsa çalışma alanına erişebilmek için), tarayıcının adres çubuğunda çalışma alanınızın alan adından sonra /login?skipssoredirect=true anahtarını ekleyebilirsiniz.
-
Kaydet düğmesine tıklayın.
-
Şifrelemeyi yapılandırmak için Keycloak'a dönün, istemcinizi açın ve Keys bölümüne gidin. Client signature required seçeneğini devre dışı bırakın ve Encrypt assertions seçeneğini etkinleştirin. Açılan pencerede Import seçeneğini seçin, Archive format değerini Certificate PEM olarak ayarlayın ve Browse düğmesine tıklayın. 7. adımdaki sertifika dosyasının yolunu belirtin ve Confirm düğmesine tıklayın.
ONLYOFFICE SP'nin Keycloak IdP ile çalışmasını kontrol etme
-
ONLYOFFICE Apps kimlik doğrulama sayfasına gidin (örneğin
https://myportal-address.com/login). -
Single Sign-On düğmesine tıklayın. Düğme yoksa SSO etkinleştirilmemiş demektir.
-
Tüm SP ve IdP parametreleri doğru ayarlanmışsa, Keycloak IdP oturum açma formuna yönlendirilirsiniz:

-
Keycloak kullanıcısının oturum açma adını ve parolasını girin ve Sign In düğmesine tıklayın.
-
Kimlik bilgileri doğruysa çalışma alanının ana sayfasına yönlendirilirsiniz (kullanıcı yoksa otomatik olarak oluşturulur veya IdP'de değiştirilmişse verileri güncellenir).
