Birden çok bölge veya birden fazla müşteri kaydı ayarlamak yerine, tek bir bölge ve tek bir müşteri kaydından yararlanabilir ve yine de Keycloak'ı kullanarak çoklu kiracılığı kolayca destekleyebilirsiniz . Kullanıcılar ayrıldıkça, örneğin izole edilmiş alanlara sahip olmak daha güvenli olacaktır, ancak tek bir kurulum ve tek bir yapılandırılmış istemci uygulamasına ve veri deposuna sahip olacak ve bir kullanıcının birden fazla kullanıcıya ait olmasını desteklemeye ihtiyaç duyan basit bir uygulama geliştiriyorum. kiracılar. Bu yazının konusu bu. Sadece dört adım.
Birden fazla Realm (bölge) veya multiple client (birden fazla istemci) kaydı ayarlamak yerine, tek bir Realm ve tek bir Client kaydından yararlanabilir ve yine de Keycloak'ı kullanarak multi tenancy'i (çoklu kiracılığı) kolayca destekleyebilirsiniz. Örn. Kullanıcılar daha sonra ayrıldıkça yalıtılmış alanlar, ancak tek bir kurulum ve tek bir yapılandırılmış istemci uygulamasına ve veri deposuna sahip olacak ve bir kullanıcının multiple tenantsa (birden fazla kiracıya) ait olmasını desteklemeye ihtiyaç duyan basit bir uygulama geliştiriyorum. Bu yazının konusu bu. Sadece dört adım.
Adımlar
- Bir anahtar kuralı kullanarak Kullanıcı niteliklerini ekleyin.
- Kiracıları temsil edecek bir Müşteri kapsamı ekleyin.
- Kullanıcı niteliklerini çıkarmak için bir eşleyici ekleyin.
- Kullanılan İstemciye İstemci kapsamını ekleyin.
Adım 1 - Bir anahtar kuralı kullanarak Kullanıcı niteliklerini ekleyin
Muhtemelen bunun için bir entegrasyon yoluyla Keycloaks API'sini kullanıyorsunuz, ancak kolaylık sağlamak için Keycloak GUI'yi kullanacağım.
Adım 2 - Kiracıları temsil edecek bir İstemci kapsamı ekleyin
Seçtiğiniz adla yeni bir Müşteri kapsamı oluşturun. Genellikle uygulama için kısa bir önek ekliyorum, örneğin"foo-"
Adım 3 - Kullanıcı niteliklerini çıkarmak için bir eşleyici ekleyin
Şimdi oluşturduğumuz Client kapsamına içerik eklememiz gerekiyor. Bunu yeni bir haritalayıcı yapılandırarak yapacağız.
Bir haritacı seçin "User attribute".
Kullanıcı özniteliğini, kullanıcı hesabından çıkarılacak şekilde yapılandırın ve benimle aynı duruma sahipseniz, birden fazla kiracıya ait olma ihtiyacı duyuyorsanız, bunun birden çok değerli olduğundan emin olun.
4. Adım - Kullanılan İstemciye İstemci kapsamını ekleyin
Son adım, yeni oluşturulan İstemci kapsamını istemcinize kaydetmektir.
Sonuç
Kullanıcıyla oturum açın ve erişim belirtecinin kapsamlarına bakın.
Eşlenen kapsam artık ayrıştırılan belirteçte mevcuttur:
foo-tenants: ["Tenant1", "Tenant2"] email_verified: false name: Tester Testersson preferred_username: tester given_name: Tester family_name: Testersson
Bu kadar. İyi kodlamalar! :)
Keycloak ve Tek Realm kullanarak çoklu Multi Tenancy