के साथ स्प्रिंग बूट सिक्योरिटी ओएथ 2 मेरा रीस्टफुल माइक्रोस्कोर्सेस सुरक्षित करने के लिए मैं Part V of Getting Started with Spring Boot Security का अनुसरण कर रहा हूं।फॉर्म लॉग इन
सरल प्रवाह है कि मैं लागू करने का इरादा है: -
अप्रमाणित हैं, तो उपयोगकर्ता/लॉगिन ' पर एक कस्टम प्रवेश पृष्ठ पर रीडायरेक्ट किया जाता है कहते हैं।
उपयोगकर्ता अपने प्रमाण पत्र प्रदान करता है।
सफल प्रमाणीकरण पर उपयोगकर्ता को होम पेज ('/ home') पर रीडायरेक्ट किया जाता है। अनुरोध में पहुंच टोकन प्रदान करने के बाद मुझे अपने आरईएसटी एंडपॉइंट ( जुउल प्रॉक्सी सर्वर के पीछे) तक पहुंचने में सक्षम होना चाहिए।
उपर्युक्त लिंक में प्रारंभ करना मार्गदर्शिका मूलभूत एथ और डमी उपयोगकर्ता का उपयोग .properties या .yml फ़ाइल में कॉन्फ़िगर किया गया है।
यह कैसे मैं अपने विन्यास के साथ करने की कोशिश की है: -
@Configuration
@EnableAuthorizationServer
public class OAuth2Config extends AuthorizationServerConfigurerAdapter {
@Autowired
private AuthenticationManager authenticationManager;
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints.authenticationManager(authenticationManager);
}
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory().withClient("acme").secret("acmesecret")
.authorizedGrantTypes("authorization_code", "refresh_token", "password").scopes("openid")
.accessTokenValiditySeconds(3600);
}
@Override
public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception {
oauthServer.tokenKeyAccess("isAnonymous()").checkTokenAccess("isAnonymous()")
.allowFormAuthenticationForClients();
}
}
@Configuration
@Import({ OptoSoftSecurityServiceConfig.class })
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService; // backed by MongoDB
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic().disable().formLogin();// disabled basic auth and configured to use dafault Spring Security form login.
}
}
साधते authorization endpoint मुझे 'http://localhost:9999/uaa/login' पर रीडायरेक्ट त्रुटि संदेश के साथ के रूप में: -
<oauth>
<error_description>
Full authentication is required to access this resource
</error_description>
<error>unauthorized</error>
</oauth>
समस्या
कैसे सीए n मैं स्थिर उपयोगकर्ता के बजाय UserDetailsService का उपयोग करने के लिए प्राधिकरण सर्वर को कॉन्फ़िगर करता हूं और मूल ऑथ के बजाय फॉर्म लॉगिन का उपयोग करता हूं।
अनुदान प्रकार के रूप में 'authorization_code' का उपयोग करते समय मैं ऑटो स्वीकृति कैसे कॉन्फ़िगर कर सकता हूं?
क्या यह बेसिक ऑथ द्वारा संरक्षित एंडपॉइंट के लिए अनिवार्य है? /ओथ/अधिकृत 'एंडपॉइंट तक पहुंचने के लिए' पूर्ण प्रमाणीकरण की आवश्यकता क्यों है '। मुझे विश्वास है कि हम नहीं जानते कि इस एंडपॉइंट से पहले उपयोगकर्ता कौन है। उपयोगकर्ता को केवल को वैध प्रमाण-पत्रों का उपयोग करके प्रमाणित किया जा सकता है, जो लॉगिन के बाद आता है।
तुम मेरे लिए Git रेपो url प्रदान कृपया सकते हैं
यह वही है (मैं भी सच करने के लिए स्वत: अनुमोदन कॉन्फ़िगर किया है) मेरे लिए काम किया है यह उदाहरण? – DIVA
हाय कुमार, जिथब रेपो नहीं मिला है। क्या मेरे पास सोर्स कोड हो सकता है? – tranceholic
@tranceholic आप या तो चेकआउट कर सकते हैं: https://github.com/ksambhav/trueyes या डेई साइर की स्प्रिंग गाइड: https: // github।com/वसंत-गाइड/टुट-वसंत-सुरक्षा और कोणीय जे एस/पेड़/मास्टर/OAuth2 –