2016-11-04 23 views
7

İki webapam var. Her birinin ön ucu (AngularJS) ve arka ucu (Java) vardır. Her ön ucun kendi halka açık erişim tipi konfigürasyonu keycloak.json dosyası vardır. Her bir arka uçta, yalnızca taşıyıcıya özel erişim tipi konfigürasyonu keycloak.json dosyası vardır. Her ön uygulama, kendi arka ucuyla iyi çalışıyor. Görevim birbirinize REST çağrı yapmaktır (arka uçlara arka uç). Bunu nasıl başarabilirim? Her bir arka uçta REST bitleri, jetonun geçerliliğini kontrol ederek korunur.Arka uç iletişimini KeyCloak korumalı arka uçlar ile REST aracılığıyla arkaya doğru

+0

iyi! Sanırım bu tür bir soruyu sormak için daha uygun bir yer resmi [Keycloak kullanıcı mail listesi] (https://lists.jboss.org/mailman/listinfo/keycloak-user). – Yuri

cevap

0

Tüm bu arka uç hizmetleri keycloak ile korunursa, Spring keycloak bağdaştırıcısında RestTemplate öğesinin KeycloakRestTemplate uzantısına bakın. KeycloakRestTemplate, keycloak-spring-security-adapter jar bağımlılığının bir parçası olarak içe aktarılır.

Temel olarak, KeycloakClientRequestFactory kullanır ve dahili olarak, hizmet çağrılarına yönelik tüm hizmet isteklerine Yetkilendirme üstbilgisini (şu anda yetkilendirilmiş ana bilgisayar için) ekler. Soru

https://github.com/keycloak/keycloak/blob/master/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/client/KeycloakRestTemplate.java

+0

Ama Spring kullanmıyorsam? Daha ne yapmalı? – Eldar

+0

@Eldar, tabi ki, bahar kullanmak zorunda değilsiniz. Erişim belirtecini UI'den arkaya doğru olan orijinal isteğinden alıp başka bir arka uç hizmetine giden isteklerin başlığına enjekte edebilirsiniz. RestTemplate yayı yoksa, bu servisi servis çağrısına nasıl yapıyorsunuz? –

+0

Bunu şanssız denedim. İkinci arka uç istisna "Token ihraççı farklı" atar. İki projenin farklı alt alan adları var: backend1.project.com ve backend2.project.com – Eldar

İlgili konular