diyanet-vatandas-dev-realm (Vatandaş)
Vatandaş portali (Website SPA) bu realm’a bağlanır.diyanet-yonetim-dev-realm (Personel)
Yönetim paneli (Admin SPA) bu realm’a bağlanır.
Bu dört rol, uygulama tarafındaki
Role enumeration’ıyla birebir eşleşir
(SuperAdmin=1, Admin=2, Staff=3, ReadOnly=4) ve DB’deki role_permission seed’i bu rollere
izin atar. Keycloak rolü token’a realm_access.roles / resource_access.{client}.roles olarak
girer; KeycloakRoleClaimsTransformation bunları ClaimTypes.Role ve permissions claim’ine
dönüştürür.
Protocol Mapper’lar
Her client’ta iki custom mapper kuruludur (User Attribute → token claim):permissions mapper’ı multivalued olmalıdır — bir kullanıcının birden fazla izni token’a
ayrı değerler olarak girer. organization_id tek değerlidir ve multi-tenant izolasyonunu besler
(tenant_id ile eşdeğer kabul edilir).
Identity Provider — Google (yalnız vatandaş realm’ı)
Vatandaş realm’ında Google IdP tanımlıdır:ClientId/ClientSecret Google Cloud Console’dan alınıp .env / provisioning config’ine
girilir.
Token içeriği örneği
Personel realm’ındanAdmin rollü bir kullanıcının access token’ının ilgili kesiti
(MapInboundClaims=false ile claim isimleri korunur):
KeycloakRoleClaimsTransformation bu yapıyı normalize eder; ardından
UserContextClaimsTransformation DB’den user_id, eksik permissions ve account_status
claim’lerini ekler (bkz. Authentication).
İlgili
Client Yapılandırması
Client ayarları ve manuel kurulum.
Provisioning
Bu yapının otomatik kurulumu.
Authorization
Rollerin izinlere haritalanması.
Multi-Tenancy
organization_id ile tenant izolasyonu.