E-Bülten’e kayıt olun

E-Posta:



Keycloak SSO ile Kullanıcı Deneyimi

Keycloak

Keycloak SSO ile Kullanıcı Deneyimi

Uzun bir aranın ardından yeniden merhabalar, ben Onurcan Gölge. Artistanbul’da uzun dönem stajımın ardından sistem yönetimi ve DevOps konularında çalışmaya devam ediyorum. Bu yazıda, bir süredir üzerinde düşündüğümüz ve geliştirmeler yaptığımız “her kullanıcı için tek hesap ve tek giriş” ve Keycloak ile ilgili düşüncelerimi ve bildiklerimi elimden geldiğinde aktarmaya çalışacağım.

Kullanıcılarımıza, belirli işlemleri gerçekleştirebilmek için uygulamamıza kayıt olmaları gereken bir veya birden fazla web uygulaması sunmaya başladığımızda; kimlik ve erişim yönetimine dair nasıl çözümler sunabileceğimizi de düşünmeliyiz.

Temelde, kullanıcı deneyimini arttırmak ve kullanıcıların sunduğumuz servislerden mümkün olan en kolay şekilde faydalanabilmelerini hedefleriz. Tek bir hesap ile birden fazla web uygulamasına erişmek son kullanıcı deneyimi açısından epey kıymetli ve işleri her iki taraf için de kolaylaştırıyor.

 

Yaşam, evren ve her şeyle ilgili nihai soruya cevap

Bir süredir bizler de kolayca birden fazla web uygulamasını entegre edebileceğimiz açık kaynak bir çözüm üzerine düşünüyoruz ve açık kaynak bir çözüm olan Keycloak ile yola devam etme kararı aldık.

Keycloak, bir veya birden fazla web uygulamasında kullanıcıların tek bir oturum ile giriş yapabilmesini sağlayan açık kaynak kimlik ve erişim yönetimi yazılımıdır. Keycloak bizlere; birden fazla web uygulamasını tek bir panel üzerinden entegre edebileceğimiz, kullanıcılara ilk girişte rol tanımlaması yapabileceğimiz ve en önemlisi de her uygulama için tek bir kayıt ve tek bir oturum gibi özellikler sunuyor. Böylece, kullanıcılar birbirinden tamamen farklı olan iki uygulamaya Single Sign-On (SSO) ile giriş yapabiliyor.

 

Keycloak ile tek giriş (SSO)

Başlarken belirttiğimiz kullanıcı deneyimini bir gözden geçirelim. Kullanıcılar, sunulan her bir web uygulaması için farklı hesaplar bulundurduğunda; kullanıcıların hesap bilgilerini güvenli bir ortamda saklaması ve her bir oturum için bu bilgilere ihtiyaç duyulması gibi ihtiyaçlar ortaya çıkacak. Dolayısıyla, kullanıcı deneyiminin düşmesi ve daha da önemlisi güvenlik sorunlarının ortaya çıkması içten bile değil.

Keycloak ve SAML entegrasyonu ile kullanıcılarımıza hem daha iyi bir deneyim hem de daha güvenli bir oturum olanağı sunabiliriz.

 

Security Assertion Markup Language (SAML)

Bir kullanıcı, herhangi bir web uygulamasına giriş yaparken kimliğini (kullanıcı adı, e-posta, parola, vb.) belirterek bir “kimlik sağlayıcı” aracılığı ile erişim ister. Bu “kimlik sağlayıcı” bizim senaryomuzda Keycloak olacak. Keycloak tarafından gönderilen erişim isteğine de web uygulaması “servis sağlayıcı” olarak izin verir veya vermez.

SAML, “kimlik sağlayıcı” ve “servis sağlayıcı” olarak bulunan iki farklı yazılım arasındaki bilgi paylaşımına imkan sunan bir standarttır. SAML protokolü, Keycloak ile web uygulamalarımızı entegre ederken güvenli bir şekilde bu iletişimin kurulmasını sağlar.

Bu sayede tek bir Keycloak hesabı oluşturan kullanıcılar, Keycloak ile entegre edilen web uygulamalarımıza tek giriş (SSO) seçeneğini kullanarak kuşlar gibi özgürce uygulamalarımız arasında geçiş yapabilecekler.

Keycloak projesine katkı sağlamak için projenin GitHub reposunu inceleyebilirsiniz.

Onurcan Gölge

Onurcan ile 2022-2023 yılları arasında çalıştık.

Yorum Yok

Yorum Yaz

Yorum
İsim
E-Posta
Website