मैं बसंत-बूट, वसंत-सुरक्षा और वसंत-ओथ 2 के आधार पर एक साधारण OAuth2 प्रदाता सेट करना चाहता हूं।स्टेटलेस स्प्रिंग सुरक्षा oauth2 प्रदाता
मुझे एक ही इंस्टेंस मशीन पर काम करने वाली सबकुछ मिल गई: ओएथ 2 प्रमाणीकरण के लिए, उपयोगकर्ता को /oauth/authorize
पर भेजा गया है। अधिकांश उपयोगकर्ता लॉग इन नहीं होते हैं, इसलिए उन्हें वसंत सुरक्षा द्वारा /login
पर रीडायरेक्ट किया जाता है और फिर प्रमाणीकरण को समाप्त करने के लिए वापस टी /oauth/authorize
पर रीडायरेक्ट किया जाता है।
डिफ़ॉल्ट कॉन्फ़िगरेशन में, वसंत-सुरक्षा उपयोगकर्ता के ब्राउज़र में एक सत्र-आईडी के साथ एक कुकी सेट करता है और सत्र डेटा को संग्रहीत करता है।
public static class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.and()
.formLogin()
.loginPage("/login")
.permitAll();
}
[...]
आदेश उपयोगकर्ता सत्र खो बिना लोड संतुलन और नीले-हरे तैनाती सक्षम करने के लिए, (मुझे लगता है कि) मैं निम्न चरणों का पालन करना होगा:
- सर्वर साइड सत्र अक्षम - एक एपीआई के लिए यह केवल OAuth2 प्रमाणीकरण के लिए ज़िम्मेदार है, मुझे नहीं लगता कि सत्रों के लिए साझा डेटाबेस होना जरूरी है।
- इसके बजाय, प्राधिकरण के दौरान उपयोगकर्ता प्रमाणीकरण, टेम्पोरारिली युक्त याद रखने वाली कुकी को सक्षम करें।
- स्टोर
/login
के लिए पुनर्निर्देश url एक अलग जगह- यह लॉगिन प्रपत्र या उपयोगकर्ता कुकी में इस स्टोर करने के लिए संभव है पर अनुप्रेषित? या "सत्रहीन" विकल्प क्या होगा?
- अक्षम CSRF (मुझे पता है कि क्या करना है और OAuth2। Auth_codes जो मुझे लगता है कि एक समान उद्देश्य है है बस संपूर्णता के लिए कैसे।)
कि दृष्टिकोण क्या मतलब? क्या परिवर्तन आवश्यक हैं?
जो मैंने मोटे तौर पर किया वह है: (ए) अक्षम सीएसआरएफ (बी) स्टोर कुकी में यूआरएल रीडायरेक्ट करता है। मुझे केवल oauth2 कोड के लिए एक स्टोरेज की आवश्यकता है। – Jan