2016-11-04 15 views
7

मेरे पास दो वेबपैप्स हैं। प्रत्येक में फ्रंटेंड (एंगुलरजेएस) और बैकएंड (जावा) है। प्रत्येक अग्रभाग में इसकी सार्वजनिक पहुंच प्रकार कॉन्फ़िगरेशन keycloak.json फ़ाइल है। प्रत्येक बैकएंड में यह स्वयं का भालू-केवल एक्सेस प्रकार कॉन्फ़िगरेशन keycloak.json फ़ाइल है। प्रत्येक फ्रंटएंड ऐप अपने स्वयं के बैकएंड के साथ ठीक काम कर रहा है। मेरा काम एक दूसरे को रीस्ट कॉल कर रहा है (बैकएंड बैकएंड)। मैं इसे कैसे प्राप्त कर सकता हूं? चूंकि प्रत्येक बैकएंड पर आरईएसटी सेवकों को टोकन वैधता की जांच करके संरक्षित किया जाता है।Keycloak संरक्षित बैकएंड के साथ आरईएसटी के माध्यम से बैकएंड संचार के लिए बैकएंड

+0

अच्छा सवाल! मुझे लगता है कि इस तरह के प्रश्न पूछने के लिए एक और उचित जगह आधिकारिक [Keycloak उपयोगकर्ता मेलिंग सूची] है (https://lists.jboss.org/mailman/listinfo/keycloak-user)। – Yuri

उत्तर

0

यदि उन सभी बैकएंड सेवाओं को keycloak द्वारा सुरक्षित किया गया है, तो Springclclak एडाप्टर में RestTemplate के KeycloakRestTemplate एक्सटेंशन को देखें। KeycloakRestTemplate keycloak-spring-security-adapter jar निर्भरता के हिस्से के रूप में आयात किया जाता है।

असल में, यह KeycloakClientRequestFactory का उपयोग करता है और आंतरिक रूप से, सेवा कॉल की सेवा के लिए सभी अनुरोधों के लिए प्राधिकरण शीर्षलेख (वर्तमान में प्रमाणीकृत प्रिंसिपल के लिए) जोड़ता है।

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

+0

लेकिन अगर मैं वसंत का उपयोग नहीं कर रहा हूं? से क्या करना है – Eldar

+0

@ एल्डर, ज़ाहिर है, आपको वसंत का उपयोग करने की ज़रूरत नहीं है। आप यूआई से बैकएंड के मूल अनुरोध से एक्सेस टोकन ले सकते हैं और इसे किसी अन्य बैकएंड सेवा में आउटगोइंग अनुरोध के शीर्षलेख में इंजेक्ट कर सकते हैं। यदि वसंत RestTemplate नहीं है, तो आप सेवा कॉल के लिए यह सेवा कैसे बना रहे हैं? –

+0

मैंने भाग्य के साथ यह कोशिश की। दूसरा बैकएंड अपवाद फेंकता है "टोकन जारीकर्ता अलग है"। दो प्रोजेक्ट में अलग-अलग सबडोमेन नाम हैं: backend1.project.com और backend2.project.com – Eldar